Module: Decoradar
- Defined in:
- lib/decoradar.rb,
lib/decoradar/errors.rb,
lib/decoradar/version.rb,
lib/decoradar/attribute.rb,
lib/decoradar/collection.rb
Overview
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
Defined Under Namespace
Modules: ClassMethods, InstanceMethods Classes: Attribute, AttributeNotFound, Collection
Constant Summary collapse
- VERSION =
"0.1.1"
Class Method Summary collapse
Class Method Details
.included(base) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 |
# 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 |