class SuperDiff::RSpec::MatcherTextBuilders::RespondTo
Attributes
expected_arity[R]
expected_keywords[R]
Public Class Methods
new( expected_arity:, arbitrary_keywords:, expected_keywords:, unlimited_arguments:, **rest )
click to toggle source
Calls superclass method
SuperDiff::RSpec::MatcherTextBuilders::Base::new
# File lib/super_diff/rspec/matcher_text_builders/respond_to.rb, line 5 def initialize( expected_arity:, arbitrary_keywords:, expected_keywords:, unlimited_arguments:, **rest ) super(**rest) @expected_arity = expected_arity @arbitrary_keywords = arbitrary_keywords @expected_keywords = expected_keywords @unlimited_arguments = unlimited_arguments end
Protected Instance Methods
add_expected_value_to(template, expected)
click to toggle source
# File lib/super_diff/rspec/matcher_text_builders/respond_to.rb, line 21 def add_expected_value_to(template, expected) template.add_text " " template.add_list_in_color(expected_color, expected) end
add_extra_after_expected_to(template)
click to toggle source
# File lib/super_diff/rspec/matcher_text_builders/respond_to.rb, line 26 def add_extra_after_expected_to(template) if expected_arity add_arity_clause_to(template) end if arbitrary_keywords? add_arbitrary_keywords_clause_to(template) elsif has_expected_keywords? add_keywords_clause_to(template) end if unlimited_arguments? add_unlimited_arguments_clause_to(template) end end
Private Instance Methods
add_arbitrary_keywords_clause_to(template)
click to toggle source
# File lib/super_diff/rspec/matcher_text_builders/respond_to.rb, line 65 def add_arbitrary_keywords_clause_to(template) template.add_text " with " template.add_text_in_color expected_color, "any" template.add_text " keywords" end
add_arity_clause_to(template)
click to toggle source
# File lib/super_diff/rspec/matcher_text_builders/respond_to.rb, line 58 def add_arity_clause_to(template) template.add_text " with " template.add_text_in_color expected_color, expected_arity template.add_text " " template.add_text pluralize("argument", expected_arity) end
add_keywords_clause_to(template)
click to toggle source
# File lib/super_diff/rspec/matcher_text_builders/respond_to.rb, line 71 def add_keywords_clause_to(template) template.add_text " with " template.add_text pluralize("keyword", expected_keywords.length) template.add_text " " template.add_list_in_color expected_color, expected_keywords end
add_unlimited_arguments_clause_to(template)
click to toggle source
# File lib/super_diff/rspec/matcher_text_builders/respond_to.rb, line 78 def add_unlimited_arguments_clause_to(template) if arbitrary_keywords? || has_expected_keywords? template.add_text " and " else template.add_text " with " end template.add_text_in_color expected_color, "unlimited" template.add_text " arguments" end
arbitrary_keywords?()
click to toggle source
# File lib/super_diff/rspec/matcher_text_builders/respond_to.rb, line 46 def arbitrary_keywords? @arbitrary_keywords end
has_expected_keywords?()
click to toggle source
# File lib/super_diff/rspec/matcher_text_builders/respond_to.rb, line 50 def has_expected_keywords? expected_keywords && expected_keywords.count > 0 end
pluralize(word, count)
click to toggle source
# File lib/super_diff/rspec/matcher_text_builders/respond_to.rb, line 89 def pluralize(word, count) if count == 1 word else "#{word}s" end end
unlimited_arguments?()
click to toggle source
# File lib/super_diff/rspec/matcher_text_builders/respond_to.rb, line 54 def unlimited_arguments? @unlimited_arguments end