Class: Janus::Core::Engine

Inherits:
Object
  • Object
show all
Defined in:
lib/janus/core/engine.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeEngine

Returns a new instance of Engine.



13
14
15
# File 'lib/janus/core/engine.rb', line 13

def initialize
  @rules = []
end

Class Method Details

.create(configuration) ⇒ Object



6
7
8
9
10
11
# File 'lib/janus/core/engine.rb', line 6

def self.create(configuration)
  engine = Engine.new
  engine.add_rule(Janus::Core::DimensionsRule.new(configuration))
  engine.add_rule(Janus::Core::ThresholdRule.new(configuration))
  engine
end

Instance Method Details

#add_rule(rule) ⇒ Object



17
18
19
# File 'lib/janus/core/engine.rb', line 17

def add_rule(rule)
  @rules << rule
end

#execute(original, fresh) ⇒ Object



21
22
23
# File 'lib/janus/core/engine.rb', line 21

def execute(original, fresh)
  @rules.each { |r| r.execute(original, fresh) }
end