Class: Vedeu::Views::Composition
- Inherits:
-
Object
- Object
- Vedeu::Views::Composition
- Includes:
- Model, Presentation
- Defined in:
- lib/vedeu/models/views/composition.rb
Overview
A composition is a collection of interfaces.
Instance Attribute Summary collapse
- #attributes ⇒ Hash readonly
-
#parent ⇒ NilClass
readonly
Composition objects do not have a parent.
Attributes included from Model
Instance Method Summary collapse
- #add(child) ⇒ Vedeu::Views::ViewCollection (also: #<<)
-
#defaults ⇒ Hash
private
The default values for a new instance of this class.
-
#initialize(attributes = {}) ⇒ Vedeu::Views::Composition
constructor
Returns a new instance of Vedeu::Views::Composition.
- #value ⇒ Vedeu::Views::ViewCollection (also: #views)
Methods included from Presentation
#render_colour, #render_position, #render_style, #to_s
Methods included from Presentation::Styles
Methods included from Presentation::Colour
#background, #background=, #colour, #colour=, #foreground, #foreground=
Methods included from Model
#deputy, #dsl_class, included, #store
Methods included from Common
#demodulize, #present?, #snake_case
Constructor Details
#initialize(attributes = {}) ⇒ Vedeu::Views::Composition
Returns a new instance of Vedeu::Views::Composition.
31 32 33 34 35 36 37 |
# File 'lib/vedeu/models/views/composition.rb', line 31 def initialize(attributes = {}) @attributes = defaults.merge!(attributes) @attributes.each do |key, value| instance_variable_set("@#{key}", value) end end |
Instance Attribute Details
#attributes ⇒ Hash (readonly)
17 18 19 |
# File 'lib/vedeu/models/views/composition.rb', line 17 def attributes @attributes end |
#parent ⇒ NilClass (readonly)
Returns Composition objects do not have a parent.
21 22 23 |
# File 'lib/vedeu/models/views/composition.rb', line 21 def parent @parent end |
Instance Method Details
#add(child) ⇒ Vedeu::Views::ViewCollection Also known as: <<
41 42 43 |
# File 'lib/vedeu/models/views/composition.rb', line 41 def add(child) @value = value.add(child) end |
#defaults ⇒ Hash (private)
The default values for a new instance of this class.
57 58 59 60 61 62 63 64 65 |
# File 'lib/vedeu/models/views/composition.rb', line 57 def defaults { client: nil, colour: nil, parent: nil, style: nil, value: [], } end |
#value ⇒ Vedeu::Views::ViewCollection Also known as: views
47 48 49 |
# File 'lib/vedeu/models/views/composition.rb', line 47 def value collection.coerce(@value, self) end |