class RSpec::Siren::Matchers::HasEntities

Public Instance Methods

description() click to toggle source
# File lib/rspec/siren/matchers/has_entities.rb, line 25
def description
  message = "have"
  message << " #{@count}" if @count
  message << " entities with klass '#{@klass}'"
end
exactly(count) click to toggle source
# File lib/rspec/siren/matchers/has_entities.rb, line 20
def exactly(count)
  @count = count
  self
end
failure_message() click to toggle source
# File lib/rspec/siren/matchers/has_entities.rb, line 31
def failure_message
  message = "expected"
  message << " #{@count}"
  message << " entities with class '#{@klass}'."
  message << " Found #{@entities.count}."
end
matches?(target) click to toggle source
# File lib/rspec/siren/matchers/has_entities.rb, line 5
def matches?(target)
  @target = target

  @entities = safe_entities.select do |e|
    !@klass || e[:class].include?(@klass)
  end

  !@entities.empty? && (!@count || @entities.count == @count)
end
with_class(klass) click to toggle source
# File lib/rspec/siren/matchers/has_entities.rb, line 15
def with_class(klass)
  @klass = klass
  self
end

Private Instance Methods

safe_entities() click to toggle source
# File lib/rspec/siren/matchers/has_entities.rb, line 40
def safe_entities
  Array(@target[:entities])
end