Class: SequelSpec::Matchers::Base
- Inherits:
-
Object
- Object
- SequelSpec::Matchers::Base
show all
- Defined in:
- lib/sequel_spec/base.rb
Instance Method Summary
collapse
Constructor Details
#initialize(attribute) ⇒ Base
Returns a new instance of Base.
4
5
6
7
8
9
10
11
|
# File 'lib/sequel_spec/base.rb', line 4
def initialize(attribute)
raise ArgumentError, "Attribute not specified" unless attribute
@attribute = attribute
@description = []
@options = {}
self
end
|
Instance Method Details
#failure_message ⇒ Object
32
33
34
|
# File 'lib/sequel_spec/base.rb', line 32
def failure_message
[@prefix, description, @suffix].flatten.compact.join(" ")
end
|
#hash_to_nice_string(hash) ⇒ Object
40
41
42
|
# File 'lib/sequel_spec/base.rb', line 40
def hash_to_nice_string(hash)
hash.sort{ |a,b| a[0].to_s<=>b[0].to_s }.collect{ |param| param.collect{ |v| v.inspect }.join(" => ") }.join(", ")
end
|
#matches?(subject) ⇒ Boolean
13
14
15
16
17
18
19
20
21
22
23
|
# File 'lib/sequel_spec/base.rb', line 13
def matches?(subject)
@suffix = []
if subject.is_a?(Sequel::Model)
@prefix = "expected #{subject.inspect} to"
valid?(subject.db, subject, subject.class, @attribute, @options)
else
@prefix = "expected #{subject.table_name.to_s.classify} to"
valid?(subject.db, subject.new, subject, @attribute, @options)
end
end
|
#negative_failure_message ⇒ Object
36
37
38
|
# File 'lib/sequel_spec/base.rb', line 36
def negative_failure_message
[@prefix, "not", description, @suffix].flatten.compact.join(" ")
end
|
#with_options(opts) ⇒ Object
25
26
27
28
29
30
|
# File 'lib/sequel_spec/base.rb', line 25
def with_options(opts)
raise ArgumentError, "#with_options expects a hash, #{opts.class} given" unless opts.is_a? Hash
@options.merge! opts
self
end
|