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