Class: StableMatching::Marriage::PhaseIRunner

Inherits:
PhaseRunner
  • Object
show all
Defined in:
lib/stable-matching/marriage/phase_i_runner.rb

Instance Method Summary collapse

Constructor Details

#initialize(alpha_preferences, beta_preferences, opts = {}) ⇒ PhaseIRunner

Returns a new instance of PhaseIRunner.



105
106
107
108
109
110
# File 'lib/stable-matching/marriage/phase_i_runner.rb', line 105

def initialize(alpha_preferences, beta_preferences, opts = {})
  @alpha_preferences = alpha_preferences
  @beta_preferences = beta_preferences

  @logger = opts.fetch(:logger)
end

Instance Method Details

#runObject



112
113
114
115
116
117
118
119
# File 'lib/stable-matching/marriage/phase_i_runner.rb', line 112

def run
  while @alpha_preferences.unmatched.any?
    @alpha_preferences.unmatched.each do |partner|
      top_choice = partner.first_preference
      simulate_proposal(partner, top_choice)
    end
  end
end