Marvin,
It will work, just declare the module in Gem A:
module Foo
module Bar
class Stuff; end
end
end
If another (Gem B) you can do the same thing:
module Foo
module Bar
class Things; end
end
end
The key here is to declare the module explicitly like the above; you can't
just do:
class Foo::Bar::Stuff
end
Because the reference Foo is not already defined.
Ben
On Thu, Jan 5, 2012 at 3:06 PM, Marvin Humphrey <[email protected]>wrote:
> Greets,
>
> I'd like to release a gem foo-bar, which contains the classes
> Foo::Bar::Stuff and Foo::Bar::Things. Is it possible to do this without
> claiming the namespace "Foo"?
>
> The motivation here is to release multiple *unrelated* gems under the same
> top-level namespace. None of them should require a prerequisite 'foo'.
>
> I'm having difficulty seeing how this would work because it doesn't seem
> to be
> possible to create a class "Foo::Bar" unless a class or module named "Foo"
> already exists. Thus, each gem would need to create "Foo", presumably
> introducing a conflict if they are ever loaded within the same process.
>
> Marvin Humphrey
>
> --
> SD Ruby mailing list
> [email protected]
> http://groups.google.com/group/sdruby
>
--
SD Ruby mailing list
[email protected]
http://groups.google.com/group/sdruby