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

From: Daniel da Silva Ferreira <danieldasilvaferreira@...>
Date: 2014-07-05 15:13:07 UTC
List: ruby-core #63551
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/

In This Thread