Module: KindExtendable::InstanceMethods
- Defined in:
- lib/betty_resource/kind_extendable.rb
Instance Method Summary collapse
Instance Method Details
#extend_kind_methods ⇒ Object
9 10 11 12 13 |
# File 'lib/betty_resource/kind_extendable.rb', line 9 def extend_kind_methods unless (m = kind_module).nil? extend m end end |
#kind=(value) ⇒ Object
15 16 17 18 19 20 21 22 23 |
# File 'lib/betty_resource/kind_extendable.rb', line 15 def kind=(value) if defined?(super) super else @kind = value end @kind_module = nil extend_kind_methods end |
#kind_module ⇒ Object
25 26 27 28 29 30 31 32 |
# File 'lib/betty_resource/kind_extendable.rb', line 25 def kind_module @kind_module ||= begin if kind.is_a?(String) && !kind.empty? m = kind.gsub(/(?:^|_)(.)/) { Regexp.last_match[1].upcase } ActiveSupport::Inflector.constantize("#{self.class}::Types::#{m}") end end end |