Skip to content

Instantly share code, notes, and snippets.

@inre
Created July 27, 2012 08:34
Show Gist options
  • Save inre/3186847 to your computer and use it in GitHub Desktop.
Save inre/3186847 to your computer and use it in GitHub Desktop.
get class module
require 'rails'
module OtherModule
def self.included(base)
base.extend(ClassMethods)
end
module ClassMethods
def module
("::"+self.to_s.split("::").tap {|m| m.pop }.join('::')).constantize
end
def foo
puts "I know your module #{self.module}"
end
end
end
module ModuleName
module SubModule
class MyClass
include OtherModule
end
end
end
1.9.3-p0 :079 > ModuleName::SubModule::MyClass.foo
I know your module ModuleName::SubModule
=> nil
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment