bermonruf
1/1/2009 7:21:00 AM
[Note: parts of this message were removed to make it a legal post.]
You might be looking for extend instead of include:
> module Foo
>
>
def foo
>
puts self::FooBar::TEST;
>
end
>
>
end
>
> module Bar
>
>
extend Foo;
>
>
class FooBar
>
TEST = "Whatever";
>
end
>
> end
>
> Bar.foo; # Prints out "Whatever"
>
See if it works for you
On Tue, Dec 30, 2008 at 10:30 PM, Sean O'Halpin <sean.ohalpin@gmail.com>wrote:
> On Tue, Dec 30, 2008 at 11:20 PM, Nicholas Wieland
> <nicholas.wieland@gmail.com> wrote:
> > Hi *,
>
> [snip example code]
>
> > Can you suggest me a way to accomplish that, to have a method inside a
> > module that checks data inside a class in another module, and define the
> > rules in the class itself ?
>
> This is one approach:
>
> module Included
> def whatever
> puts self.class::FOO
> end
> end
>
> module Includer
> class Whatever
> include Included
> FOO = 'whatever'
> end
> end
>
> o = Includer::Whatever.new
> o.whatever # => "whatever"
>
> Note you have to include the module inside the class - including it in
> the enclosing module does not do what you may think :)
>
> Regards,
> Sean
>
>
--
Bernardo Rufino