lib/yaks/mapper/attribute.rb in yaks-0.11.0 vs lib/yaks/mapper/attribute.rb in yaks-0.12.0

- old
+ new

@@ -1,20 +1,23 @@ module Yaks class Mapper class Attribute - include Attribs.new(:name, :block) - include Util + extend Forwardable, Util + include Attribs.new(:name, :block, if: true), Util - def self.create(name, _options = nil, &block) - new(name: name, block: block) + def self.create(name, options = {}, &block) + new(options.merge(name: name, block: block)) end def add_to_resource(resource, mapper, _context) + return resource unless Resolve(self.if, mapper) + if block attribute = Resolve(block, mapper) else attribute = mapper.load_attribute(name) end + resource.merge_attributes(name => attribute) end end end end