Parent

Enumerize::Integrations::RSpec::Matcher

Attributes

attr[RW]
default[RW]
subject[RW]
values[RW]

Public Class Methods

new(attr) click to toggle source
# File lib/enumerize/integrations/rspec/matcher.rb, line 7
def initialize(attr)
  self.attr = attr
end

Public Instance Methods

description() click to toggle source
# File lib/enumerize/integrations/rspec/matcher.rb, line 33
def description
  description  = "enumerize :#{attr} in: #{quote_values(values)}"
  description += " with #{default.inspect} as default value" if default

  description
end
failure_message() click to toggle source
# File lib/enumerize/integrations/rspec/matcher.rb, line 21
def failure_message
  message  = " expected :#{attr} to allow value#{values.size == 1 ? nil : 's'}: #{quote_values(values)},"
  message += " but it allows #{quote_values(enumerized_values)} instead"

  if default && !matches_default_value?
    message  = " expected :#{attr} to have #{default.inspect} as default value,"
    message += " but it sets #{enumerized_default.inspect} instead"
  end

  message
end
in(*values) click to toggle source
# File lib/enumerize/integrations/rspec/matcher.rb, line 11
def in(*values)
  self.values = values.map(&:to_s).sort
  self
end
matches?(subject) click to toggle source
# File lib/enumerize/integrations/rspec/matcher.rb, line 40
def matches?(subject)
  self.subject = subject
  matches      = true

  matches &= matches_attributes?
  matches &= matches_default_value? if default

  matches
end
with_default(default) click to toggle source
# File lib/enumerize/integrations/rspec/matcher.rb, line 16
def with_default(default)
  self.default = default.to_s
  self
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.