Sha256: d9432adf479a4ac801866a389ed19750dac21675744346a25ecb80a3226f0cc9

Contents?: true

Size: 599 Bytes

Versions: 3

Compression:

Stored size: 599 Bytes

Contents

module RSpec
  module Siren
    module Matchers
      class HasClass
        def initialize(expected)
          @expected = expected
        end

        def matches?(target)
          @target = target
          @target[:class] && safe_classes.include?(@expected)
        end

        def safe_classes
          Array(@target[:class])
        end

        def description
          "have siren class '#{@expected}'"
        end

        def failure_message
          "expected siren object to have class '#{@expected}' found classes: #{safe_classes.inspect}"
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rspec-siren-1.1.0 lib/rspec/siren/matchers/has_class.rb
rspec-siren-1.0.1 lib/rspec/siren/matchers/has_class.rb
rspec-siren-1.0.0 lib/rspec/siren/matchers/has_class.rb