class Shoulda::Matchers::ActiveModel::ValidationMessageFinder
Finds message information from a model's errors method.
Public Class Methods
new(instance, attribute, context=nil)
click to toggle source
# File lib/shoulda/matchers/active_model/validation_message_finder.rb, line 9 def initialize(instance, attribute, context=nil) @instance = instance @attribute = attribute @context = context end
Public Instance Methods
allow_description(allowed_values)
click to toggle source
# File lib/shoulda/matchers/active_model/validation_message_finder.rb, line 15 def allow_description(allowed_values) "allow #{@attribute} to be set to #{allowed_values}" end
expected_message_from(attribute_message)
click to toggle source
# File lib/shoulda/matchers/active_model/validation_message_finder.rb, line 19 def expected_message_from(attribute_message) attribute_message end
has_messages?()
click to toggle source
# File lib/shoulda/matchers/active_model/validation_message_finder.rb, line 23 def has_messages? errors.present? end
messages()
click to toggle source
# File lib/shoulda/matchers/active_model/validation_message_finder.rb, line 39 def messages Array(messages_for_attribute) end
messages_description()
click to toggle source
# File lib/shoulda/matchers/active_model/validation_message_finder.rb, line 31 def messages_description if errors.empty? 'no errors' else "errors: #{pretty_error_messages(validated_instance)}" end end
source_description()
click to toggle source
# File lib/shoulda/matchers/active_model/validation_message_finder.rb, line 27 def source_description 'errors' end
Private Instance Methods
errors()
click to toggle source
# File lib/shoulda/matchers/active_model/validation_message_finder.rb, line 53 def errors validated_instance.errors end
messages_for_attribute()
click to toggle source
# File lib/shoulda/matchers/active_model/validation_message_finder.rb, line 45 def messages_for_attribute if errors.respond_to?(:[]) errors[@attribute] else errors.on(@attribute) end end
validate_instance()
click to toggle source
# File lib/shoulda/matchers/active_model/validation_message_finder.rb, line 61 def validate_instance @instance.valid?(*@context) @instance end
validated_instance()
click to toggle source
# File lib/shoulda/matchers/active_model/validation_message_finder.rb, line 57 def validated_instance @validated_instance ||= validate_instance end