module Contextualize::ClassMethods
Attributes
context_map[R]
Public Instance Methods
context(name, *constants)
click to toggle source
# File lib/contextualize.rb, line 10 def context name, *constants @context_map ||= {} context_modules = if constants.flatten.empty? const_by_convention(name) else select_modules constants end @context_map[name.to_sym] = context_modules end
contexts(*names)
click to toggle source
# File lib/contextualize.rb, line 20 def contexts *names names.flatten.each do |name| context name, const_by_convention(name) end end
Protected Instance Methods
const_by_convention(name)
click to toggle source
# File lib/contextualize.rb, line 28 def const_by_convention name cls_name = self.name.demodulize const_name = "#{cls_name}#{name.to_s.camelize}" const_name.constantize end
select_modules(constants)
click to toggle source
# File lib/contextualize.rb, line 34 def select_modules constants constants.select {|c| c.is_a?(Module) && !c.respond_to?(:new) } end