Method: Mapable::Mapping.create

Defined in:
lib/mapable/mapping.rb

.create(base_module, name, options = {}, &block) ⇒ Object



50
51
52
53
54
55
56
57
# File 'lib/mapable/mapping.rb', line 50

def self.create(base_module, name, options = {}, &block)
  options[:class_name] ||= ::Mapable::Utils.classify_name(name.to_s) + 'Mapping'
  kls = Class.new(options[:base_class] || Object)
  kls = base_module.const_set(options[:class_name], kls)
  kls.send(:include, ::Mapable::Mapping)
  kls.class_eval(&block) if block
  kls
end