module ReeMapper::DSL::ClassMethods
def build_mapper(register_as: nil)
def build_mapper(register_as: nil) mapper_factory = ReeMapper.get_mapper_factory(Object.const_get(name.split('::').first)) mapper_factory.call(register_as: register_as) do |mapper| self.instance_variable_set(:@mapper, mapper) end end
def mapper(name, &proc)
def mapper(name, &proc) dsl = Ree::ObjectDsl.new( Ree.container.packages_facade, name, self, :object ) dsl.instance_exec(&proc) if block_given? dsl.tags(["object", "mapper"]) dsl.factory :build Ree.container.compile(dsl.package, name) end