module Stockboy
class Attribute < Struct.new(:to, :from, :translators, :ignore_condition)
def ignore?(context)
if Symbol === ignore_condition
context.public_send(to).public_send(ignore_condition)
elsif ignore_condition.respond_to?(:call)
ignore_condition.call(context)
else
!!(ignore_condition)
end
end
def inspect
"#<Stockboy::Attribute to=#{to.inspect}, from=#{from.inspect}%s%s>" % [
(", translators=#{translators}" if translators),
(", ignore=#{ignore_condition.inspect}" if ignore_condition)
]
end
end
end