[ruby-core:63552] [ruby-trunk - Feature #9064] Add support for packages, like in Java

From: danieldasilvaferreira@...
Date: 2014-07-05 15:13:20 UTC
List: ruby-core #63552
Issue #9064 has been updated by Daniel Ferreira.


 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/

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

* 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/

In This Thread