From: Daniel da Silva Ferreira Date: 2014-07-05T16:13:07+01:00 Subject: [ruby-core:63551] Re: [ruby-trunk - Feature #9064] Add support for packages, like in Java --Apple-Mail=_B8F6041F-B114-4A41-964A-AC48B1D134DE Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii Hi, I only have now seen this feature request. Luckily it came almost at the same time has my feature request for an = __internal interface__ (https://bugs.ruby-lang.org/issues/9992). It seems that we are now starting to think more on how to optimize ruby = for the enterprise environment and that is very good. I support 100% this feature. I would change the name of the command though. For me and following the ruby way instead of: `package MyLibrary::InnerNamespace` I would sugest: ~~~ ruby namespace MyLibrary::InnerNamespace class MyClass end ~~~ As an helper for wrapping the defined class inside the specified = namespace. Using namespace new command we would still rely on modules and classes = for the definition of the namespace. By using namespace=20 we would use the already defined namespace in the required code Or=20 create a namespace based on modules by default. What do you think? I think we are heading in the right direction. Glad Matz is already assigned to this one. Cheers, Daniel On 30 Jun 2014, at 18:17, rr.rosas@gmail.com wrote: > Issue #9064 has been updated by Rodrigo Rosenfeld Rosas. >=20 > File feature-9064.pdf added >=20 > Reattaching using Firefox >=20 > ---------------------------------------- > Feature #9064: Add support for packages, like in Java > https://bugs.ruby-lang.org/issues/9064#change-47486 >=20 > * Author: Rodrigo Rosenfeld Rosas > * Status: Open > * Priority: Normal > * Assignee: Yukihiro Matsumoto > * Category: core > * Target version:=20 > ---------------------------------------- > In Java, it's easy to define a package for a certain class: >=20 > package com.company.MyClass >=20 > We don't use that convention in Ruby but we have another way of = packaging classes: >=20 > module MyLibrary > module InnerNamespace > class MyClass > end > end > end >=20 > I'd prefer to be able to use something like this instead meaning = exactly the same thing: >=20 > package MyLibrary::InnerNamespace # or MyLibrary.InnerNamespace, I = don't really care > class MyClass > end >=20 > Could you please consider this idea? >=20 > ---Files-------------------------------- > feature-9064.pdf (16.7 KB) > feature-9064.pdf (16.7 KB) >=20 >=20 > --=20 > https://bugs.ruby-lang.org/ --Apple-Mail=_B8F6041F-B114-4A41-964A-AC48B1D134DE Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii Hi,

I only have now seen this = feature request.
Luckily it came almost at the same time has = my feature request for an __internal interface__ (https://bugs.ruby-lang.org= /issues/9992).
It seems that we are now starting to think = more on how to optimize ruby for the enterprise environment and that is = very good.
I support 100% this = feature.

I would change the name of the command = though.

For me and following the ruby = way
instead of:

`package = MyLibrary::InnerNamespace`

I would = sugest:

~~~ ruby
namespace = MyLibrary::InnerNamespace

class = MyClass
end
~~~

As an = helper for wrapping the defined class inside the specified = namespace.

Using namespace new command we would = still rely on modules and classes for the definition of the = namespace.

By using = namespace 
we would use the already defined namespace in = the required code
Or 
create a namespace based = on modules by default.

What do you = think?

I think we are heading in the right = direction.

Glad Matz is already assigned to = this = one.

Cheers,

Daniel

On 30 Jun 2014, at 18:17, rr.rosas@gmail.com = wrote:

Issue #9064 has been updated by Rodrigo Rosenfeld = Rosas.

File feature-9064.pdf added

Reattaching using = Firefox

----------------------------------------
Feature = #9064: Add support for packages, like in Java
https://bugs.= ruby-lang.org/issues/9064#change-47486

* Author: Rodrigo = Rosenfeld Rosas
* Status: Open
* Priority: Normal
* Assignee: = Yukihiro Matsumoto
* Category: core
* Target version: =
----------------------------------------
In Java, it's easy to = define a package for a certain class:

package = com.company.MyClass

We don't use that convention in Ruby but we = have another way of packaging classes:

module MyLibrary
=  module InnerNamespace
   class MyClass
=    end
 end
end

I'd prefer to be able = to use something like this instead meaning exactly the same = thing:

package MyLibrary::InnerNamespace # or = MyLibrary.InnerNamespace, I don't really care
class = MyClass
end

Could you please consider this = idea?

---Files--------------------------------
feature-9064.pdf = (16.7 KB)
feature-9064.pdf (16.7 KB)


-- =
https://bugs.ruby-lang.org/

= --Apple-Mail=_B8F6041F-B114-4A41-964A-AC48B1D134DE--