module KindExtendable::InstanceMethods

Public Instance Methods

extend_kind_methods() click to toggle source
# File lib/betty_resource/kind_extendable.rb, line 9
def extend_kind_methods
  unless (m = kind_module).nil?
    extend m
  end
end
kind=(value) click to toggle source
Calls superclass method
# 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() click to toggle source
# 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