class Consent::Rspec::ConsentAction
@private
Public Class Methods
new(action_key)
click to toggle source
# File lib/consent/rspec/consent_action.rb, line 10 def initialize(action_key) @action_key = action_key end
Public Instance Methods
description()
click to toggle source
# File lib/consent/rspec/consent_action.rb, line 19 def description message = "consents action #{@action_key}" "#{message} with views #{@views}" if @views end
failure_message()
click to toggle source
# File lib/consent/rspec/consent_action.rb, line 37 def failure_message failure_message_base 'to' end
failure_message_when_negated()
click to toggle source
# File lib/consent/rspec/consent_action.rb, line 41 def failure_message_when_negated failure_message_base 'to not' end
matches?(subject_key)
click to toggle source
# File lib/consent/rspec/consent_action.rb, line 24 def matches?(subject_key) @subject_key = subject_key @action = Consent.find_action(@subject_key, @action_key) if @action && @views RSpec::Support::FuzzyMatcher.values_match?( @action.views.keys.sort, @views.sort ) else !@action.nil? end end
with_views(*views)
click to toggle source
# File lib/consent/rspec/consent_action.rb, line 14 def with_views(*views) @views = views self end
Private Instance Methods
failure_message_base(failure)
click to toggle source
# File lib/consent/rspec/consent_action.rb, line 47 def failure_message_base(failure) # rubocop:disable Metrics/MethodLength message = format( 'expected %<skey>s (%<sclass>s) %<failure> provide action %<action>s', skey: @subject_key.to_s, sclass: @subject_key.class, action: @action_key, failure: failure ) if @action && @views format( '%<message>s with views %<views>s, but actual views are %<keys>p', message: message, views: @views, keys: @action.views.keys ) else message end end