Class: ProjectSimulator::Controller
- Inherits:
-
Object
- Object
- ProjectSimulator::Controller
- Defined in:
- lib/projectsimulator.rb
Instance Attribute Summary collapse
-
#macros ⇒ Object
readonly
Returns the value of attribute macros.
-
#title ⇒ Object
Returns the value of attribute title.
Instance Method Summary collapse
-
#initialize(mcs, debug: false) ⇒ Controller
constructor
A new instance of Controller.
- #trigger(name, detail = {time: $env[:time]}) ⇒ Object
Constructor Details
#initialize(mcs, debug: false) ⇒ Controller
Returns a new instance of Controller.
207 208 209 210 211 212 213 214 |
# File 'lib/projectsimulator.rb', line 207 def initialize(mcs, debug: false) @debug = debug @syslog = [] @macros = mcs.macros end |
Instance Attribute Details
#macros ⇒ Object (readonly)
Returns the value of attribute macros.
204 205 206 |
# File 'lib/projectsimulator.rb', line 204 def macros @macros end |
#title ⇒ Object
Returns the value of attribute title.
205 206 207 |
# File 'lib/projectsimulator.rb', line 205 def title @title end |
Instance Method Details
#trigger(name, detail = {time: $env[:time]}) ⇒ Object
217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 |
# File 'lib/projectsimulator.rb', line 217 def trigger(name, detail={time: $env[:time]}) macros = @macros.select do |macro| puts 'macro: ' + macro.inspect if @debug valid_trigger = macro.match?(name, detail) puts 'valid_trigger: ' + valid_trigger.inspect if @debug if valid_trigger then @syslog << [Time.now, :trigger, name] @syslog << [Time.now, :macro, macro.title] end valid_trigger end puts 'macros: ' + macros.inspect if @debug macros.flat_map(&:run) end |