Class: StableMatching::Roommate::PhaseIRunner
- Inherits:
-
PhaseRunner
- Object
- PhaseRunner
- StableMatching::Roommate::PhaseIRunner
- Defined in:
- lib/stable-matching/roommate/phase_i_runner.rb
Instance Method Summary collapse
-
#initialize(preference_table, opts = {}) ⇒ PhaseIRunner
constructor
A new instance of PhaseIRunner.
- #run ⇒ Object
Constructor Details
#initialize(preference_table, opts = {}) ⇒ PhaseIRunner
Returns a new instance of PhaseIRunner.
84 85 86 87 |
# File 'lib/stable-matching/roommate/phase_i_runner.rb', line 84 def initialize(preference_table, opts = {}) @preference_table = preference_table @logger = opts.fetch(:logger) end |
Instance Method Details
#run ⇒ Object
89 90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/stable-matching/roommate/phase_i_runner.rb', line 89 def run while @preference_table.unmatched.any? ensure_table_is_stable! member = @preference_table.unmatched.first top_choice = member.first_preference simulate_proposal(member, top_choice) end # Check once more since final iteration may have left the table unstable ensure_table_is_stable! end |