Module: Flatter::Mapper::Traits::ClassMethods
- Defined in:
- lib/flatter/mapper/traits.rb
Instance Method Summary collapse
Instance Method Details
#mount(&block) ⇒ Object
30 31 32 |
# File 'lib/flatter/mapper/traits.rb', line 30 def mount(*, &block) super.tap{ |f| f.extension = block } end |
#trait(name, &block) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/flatter/mapper/traits.rb', line 34 def trait(name, &block) trait_name = "#{name}_trait" mapper_class = Class.new(Flatter::Mapper, &block) if self.name.present? mapper_class_name = trait_name.camelize const_set(mapper_class_name, mapper_class) mount trait_name, mapper_class_name: "#{self.name}::#{mapper_class_name}", trait: true else mount trait_name, mapper_class: mapper_class, trait: true end end |