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.
247 248 249 250 251 252 253 254 |
# File 'lib/projectsimulator.rb', line 247 def initialize(mcs, debug: false) @debug = debug @syslog = [] @macros = mcs.macros end |
Instance Attribute Details
#macros ⇒ Object (readonly)
Returns the value of attribute macros.
244 245 246 |
# File 'lib/projectsimulator.rb', line 244 def macros @macros end |
#title ⇒ Object
Returns the value of attribute title.
245 246 247 |
# File 'lib/projectsimulator.rb', line 245 def title @title end |
Instance Method Details
#trigger(name, detail = {time: $env[:time]}) ⇒ Object
257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 |
# File 'lib/projectsimulator.rb', line 257 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 |