Class: Representable::Decorator

Inherits:
Object
  • Object
show all
Extended by:
Uber::InheritableAttr
Includes:
Representable, Cached
Defined in:
lib/representable/decorator.rb

Constant Summary

Constants included from Representable

As, AssignAs, AssignFragment, AssignName, Decorate, Default, Deserialize, Deserializer, FindOrInstantiate, GetValue, Getter, If, OverwriteOnNil, ParseFilter, Prepare, ReadFragment, Reader, RenderDefault, RenderFilter, Serialize, Serializer, SetValue, Setter, SkipParse, SkipRender, Stop, StopOnExcluded, StopOnNil, StopOnNotFound, StopOnSkipable, VERSION, WriteFragment, Writer

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Cached

included, #representable_map

Methods included from Representable

Option, included

Constructor Details

#initialize(represented) ⇒ Decorator

Returns a new instance of Decorator.



33
34
35
# File 'lib/representable/decorator.rb', line 33

def initialize(represented)
  @represented = represented
end

Instance Attribute Details

#representedObject (readonly) Also known as: decorated

Returns the value of attribute represented.



6
7
8
# File 'lib/representable/decorator.rb', line 6

def represented
  @represented
end

Class Method Details

.cloneObject

This is called from inheritable_attr when inheriting a decorator class to a subclass. Explicitly subclassing the Decorator makes sure representable_attrs is a clean version.



22
23
24
# File 'lib/representable/decorator.rb', line 22

def self.clone
  Class.new(self)
end

.default_nested_classObject

FIXME. SHOULD we move that into NestedBuilder?



14
15
16
# File 'lib/representable/decorator.rb', line 14

def self.default_nested_class #FIXME. SHOULD we move that into NestedBuilder?
  Representable::Decorator
end

.nested_builderObject



37
38
39
# File 'lib/representable/decorator.rb', line 37

def self.nested_builder
  ::Declarative::Schema::DSL::NestedBuilder
end

.prepare(represented) ⇒ Object

TODO: when moving all class methods into ClassMethods, i get a segfault.



10
11
12
# File 'lib/representable/decorator.rb', line 10

def self.prepare(represented)
  new(represented)
end