Class: Rspec::Bash::Util::CallConfArgumentListMatcher

Inherits:
ArgumentListMatcher
  • Object
show all
Defined in:
lib/rspec/bash/util/call_conf_argument_list_matcher.rb

Instance Method Summary collapse

Constructor Details

#initialize(call_conf_list) ⇒ CallConfArgumentListMatcher

Returns a new instance of CallConfArgumentListMatcher.


12
13
14
# File 'lib/rspec/bash/util/call_conf_argument_list_matcher.rb', line 12

def initialize(call_conf_list)
  @expected_call_conf_list = call_conf_list
end

Instance Method Details

#args_match?(call_arguments) ⇒ Boolean

Returns:

  • (Boolean)

16
17
18
# File 'lib/rspec/bash/util/call_conf_argument_list_matcher.rb', line 16

def args_match?(call_arguments)
  !get_call_conf_matches(call_arguments).empty?
end

#get_best_call_conf(call_arguments) ⇒ Object


20
21
22
23
24
25
26
# File 'lib/rspec/bash/util/call_conf_argument_list_matcher.rb', line 20

def get_best_call_conf(call_arguments)
  get_call_conf_matches(call_arguments).sort_by do |call_conf|
    [
      call_conf[:args].length
    ]
  end.last || {}
end

#get_call_conf_matches(call_arguments) ⇒ Object


28
29
30
31
32
33
# File 'lib/rspec/bash/util/call_conf_argument_list_matcher.rb', line 28

def get_call_conf_matches(call_arguments)
  @expected_call_conf_list.select do |expected_call_conf|
    @expected_args = remap_argument_matchers(expected_call_conf[:args])
    parent_args_match?(*call_arguments)
  end
end

#parent_args_match?Object


9
# File 'lib/rspec/bash/util/call_conf_argument_list_matcher.rb', line 9

alias parent_args_match? args_match?

#parent_initializeObject


10
# File 'lib/rspec/bash/util/call_conf_argument_list_matcher.rb', line 10

alias parent_initialize initialize