Sha256: fed101268ca5f8e070c89825ae1bc802777f6beed547bbd7cfb6a206cf5ef53e
Contents?: true
Size: 1.48 KB
Versions: 3
Compression:
Stored size: 1.48 KB
Contents
module RR class DoubleMatches attr_reader :matching_scenarios, :exact_terminal_scenarios_to_attempt, :exact_non_terminal_scenarios_to_attempt, :wildcard_terminal_scenarios_to_attempt, :wildcard_non_terminal_scenarios_to_attempt def initialize(scenarios) #:nodoc: @scenarios = scenarios @matching_scenarios = [] @exact_terminal_scenarios_to_attempt = [] @exact_non_terminal_scenarios_to_attempt = [] @wildcard_terminal_scenarios_to_attempt = [] @wildcard_non_terminal_scenarios_to_attempt = [] end def find_all_matches!(args) @scenarios.each do |scenario| if scenario.exact_match?(*args) matching_scenarios << scenario if scenario.attempt? exact_scenario_is_terminal_or_non_terminal scenario end elsif scenario.wildcard_match?(*args) matching_scenarios << scenario if scenario.attempt? wildcard_scenario_is_terminal_or_non_terminal scenario end end end self end protected def exact_scenario_is_terminal_or_non_terminal(scenario) if scenario.terminal? exact_terminal_scenarios_to_attempt << scenario else exact_non_terminal_scenarios_to_attempt << scenario end end def wildcard_scenario_is_terminal_or_non_terminal(scenario) if scenario.terminal? wildcard_terminal_scenarios_to_attempt << scenario else wildcard_non_terminal_scenarios_to_attempt << scenario end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rr-0.4.2 | lib/rr/double_matches.rb |
rr-0.4.1 | lib/rr/double_matches.rb |
rr-0.4.0 | lib/rr/double_matches.rb |