Class: ProjectSimulator::FrequencyConstraint

Inherits:
Object
  • Object
show all
Defined in:
lib/projectsimulator.rb

Instance Method Summary collapse

Constructor Details

#initialize(freqx, freq: freqx, debug: false) ⇒ FrequencyConstraint

Returns a new instance of FrequencyConstraint.



457
458
459
460
# File 'lib/projectsimulator.rb', line 457

def initialize(freqx, freq: freqx, debug: false)
  @freq, @debug = freq, debug
  @counter = 0
end

Instance Method Details

#counterObject



462
463
464
# File 'lib/projectsimulator.rb', line 462

def counter()
  @counter
end

#incrementObject



466
467
468
# File 'lib/projectsimulator.rb', line 466

def increment()
  @counter += 1
end

#matchObject



470
471
472
# File 'lib/projectsimulator.rb', line 470

def match()
  @counter < @freq
end

#resetObject



474
475
476
477
# File 'lib/projectsimulator.rb', line 474

def reset()
  puts 'resetting' if @debug
  @counter = 0
end

#to_nodeObject



479
480
481
482
# File 'lib/projectsimulator.rb', line 479

def to_node()
  Rexle::Element.new(:constraint, \
                     attributes: {type: :frequency, freq: @freq})      
end

#to_rowxObject



484
485
486
487
488
489
490
491
492
493
494
495
496
497
# File 'lib/projectsimulator.rb', line 484

def to_rowx()
  
  freq = case @freq
  when 1
    'Once'
  when 2
    'Twice'
  else
    "Maximum %s times" % @freq
  end
  
  "constraint: %s" %  freq

end