class JSONAPI::Resources::Matchers::HaveAttribute
Attributes
name[RW]
resource[RW]
Public Class Methods
new(name)
click to toggle source
# File lib/jsonapi/resources/matchers/have_attribute.rb, line 8 def initialize(name) self.name = name end
Public Instance Methods
description()
click to toggle source
# File lib/jsonapi/resources/matchers/have_attribute.rb, line 32 def description "have attribute #{name}" end
failure_message()
click to toggle source
# File lib/jsonapi/resources/matchers/have_attribute.rb, line 27 def failure_message resource_name = resource.class.name.demodulize %Q(expected #{resource_name} to have attribute #{name}) end
matches?(resource)
click to toggle source
# File lib/jsonapi/resources/matchers/have_attribute.rb, line 12 def matches?(resource) self.resource = resource CheckSerialization.(self.resource) resource_class = resource.class serialized_hash = JSONAPI::ResourceSerializer.new(resource_class). serialize_to_hash(resource).with_indifferent_access expected_key = JSONAPI.configuration.key_formatter.format(name.to_s) attributes = serialized_hash["data"]["attributes"] return false if attributes.nil? attributes.has_key?(expected_key) end