class SimpleObjectSerialization::Attribute

Attributes

block[R]
name[R]
options[R]

Public Class Methods

new(name, options, block) click to toggle source
# File lib/simple_object_serialization/attribute.rb, line 7
def initialize(name, options, block)
  @name = name
  @options = options
  @block = block
end

Public Instance Methods

skip_for?(serializer) click to toggle source
# File lib/simple_object_serialization/attribute.rb, line 13
def skip_for?(serializer)
  options[:if] ? !serializer.instance_eval(&options[:if]) : false
end
value_for(serializer) click to toggle source
# File lib/simple_object_serialization/attribute.rb, line 17
def value_for(serializer)
  block ? serializer.instance_eval(&block) : serializer.object.public_send(name)
end