Class: Magicka::Aggregator

Inherits:
Object
  • Object
show all
Defined in:
lib/magicka/aggregator.rb,
lib/magicka/aggregator/method_builder.rb

Overview

Class representing an element agregator, representing a model

Direct Known Subclasses

Display, Form

Defined Under Namespace

Classes: MethodBuilder

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(renderer, model) ⇒ Aggregator

Returns a new instance of Aggregator.



21
22
23
24
# File 'lib/magicka/aggregator.rb', line 21

def initialize(renderer, model)
  @renderer = renderer
  @model    = model
end

Instance Attribute Details

#modelObject (readonly)



19
20
21
# File 'lib/magicka/aggregator.rb', line 19

def model
  @model
end

Class Method Details

.with_element(element_class, method_name = nil) ⇒ Object



11
12
13
14
15
16
# File 'lib/magicka/aggregator.rb', line 11

def with_element(element_class, method_name = nil)
  MethodBuilder
    .new(self, element_class, method_name)
    .prepare
    .build
end

Instance Method Details

#equal?(other) ⇒ Boolean Also known as: ==

Returns:

  • (Boolean)


32
33
34
35
36
37
# File 'lib/magicka/aggregator.rb', line 32

def equal?(other)
  return unless other.class == self.class

  other.renderer == renderer &&
    other.model == model
end

#with_model(model) {|self.class.new(renderer, new_model)| ... } ⇒ Object

Yields:

  • (self.class.new(renderer, new_model))


26
27
28
29
30
# File 'lib/magicka/aggregator.rb', line 26

def with_model(model)
  new_model = [self.model, model].join('.')

  yield self.class.new(renderer, new_model)
end