Class: RR::DoubleMatches

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(scenarios) ⇒ DoubleMatches

:nodoc:



8
9
10
11
12
13
14
15
# File 'lib/rr/double_matches.rb', line 8

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

Instance Attribute Details

#exact_non_terminal_scenarios_to_attemptObject (readonly)

Returns the value of attribute exact_non_terminal_scenarios_to_attempt.



3
4
5
# File 'lib/rr/double_matches.rb', line 3

def exact_non_terminal_scenarios_to_attempt
  @exact_non_terminal_scenarios_to_attempt
end

#exact_terminal_scenarios_to_attemptObject (readonly)

Returns the value of attribute exact_terminal_scenarios_to_attempt.



3
4
5
# File 'lib/rr/double_matches.rb', line 3

def exact_terminal_scenarios_to_attempt
  @exact_terminal_scenarios_to_attempt
end

#matching_scenariosObject (readonly)

Returns the value of attribute matching_scenarios.



3
4
5
# File 'lib/rr/double_matches.rb', line 3

def matching_scenarios
  @matching_scenarios
end

#wildcard_non_terminal_scenarios_to_attemptObject (readonly)

Returns the value of attribute wildcard_non_terminal_scenarios_to_attempt.



3
4
5
# File 'lib/rr/double_matches.rb', line 3

def wildcard_non_terminal_scenarios_to_attempt
  @wildcard_non_terminal_scenarios_to_attempt
end

#wildcard_terminal_scenarios_to_attemptObject (readonly)

Returns the value of attribute wildcard_terminal_scenarios_to_attempt.



3
4
5
# File 'lib/rr/double_matches.rb', line 3

def wildcard_terminal_scenarios_to_attempt
  @wildcard_terminal_scenarios_to_attempt
end

Instance Method Details

#find_all_matches!(args) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/rr/double_matches.rb', line 17

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