class Ivy::Serializers::Attribute
Public Class Methods
new(name, &getter)
click to toggle source
# File lib/ivy/serializers/attribute.rb, line 4 def initialize(name, &getter) @name = name @getter = getter || method(:default_getter) end
Public Instance Methods
generate(generator, resource)
click to toggle source
# File lib/ivy/serializers/attribute.rb, line 9 def generate(generator, resource) generator.attribute(@name, get(resource)) end
Private Instance Methods
default_getter(resource)
click to toggle source
# File lib/ivy/serializers/attribute.rb, line 15 def default_getter(resource) resource.public_send(@name) end
get(resource)
click to toggle source
# File lib/ivy/serializers/attribute.rb, line 19 def get(resource) @getter.call(resource) if resource end