module Decoradar
Decorates and serializes model into a hash
class PlayerDecorator
include Decoradar attributes :id, :name, :team attribute :shirt_number attribute :nationality, include_if: -> model { model.has_nationality? } def shirt_number model.team.shirt end def team TeamDecorator.new(model.team) end
end
PlayerDecorator.new(Player.first).as_json
Constants
- VERSION
Public Class Methods
included(base)
click to toggle source
# File lib/decoradar.rb, line 26 def self.included(base) base.singleton_class.class_eval { attr_accessor :attribute_set } base.class_eval do self.attribute_set = Set.new extend Forwardable extend ClassMethods include InstanceMethods end end