mongoid 2.0.0.alpha → 2.0.0.beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/mongoid.rb +11 -5
- data/lib/mongoid/associations.rb +112 -107
- data/lib/mongoid/associations/belongs_to_related.rb +2 -3
- data/lib/mongoid/associations/embedded_in.rb +12 -4
- data/lib/mongoid/associations/{embed_many.rb → embeds_many.rb} +101 -32
- data/lib/mongoid/associations/{embed_one.rb → embeds_one.rb} +10 -10
- data/lib/mongoid/associations/has_many_related.rb +51 -5
- data/lib/mongoid/associations/has_one_related.rb +9 -5
- data/lib/mongoid/associations/meta_data.rb +2 -1
- data/lib/mongoid/associations/options.rb +15 -6
- data/lib/mongoid/associations/proxy.rb +14 -21
- data/lib/mongoid/attributes.rb +34 -13
- data/lib/mongoid/callbacks.rb +1 -2
- data/lib/mongoid/collection.rb +4 -3
- data/lib/mongoid/collections.rb +41 -0
- data/lib/mongoid/collections/master.rb +3 -2
- data/lib/mongoid/collections/slaves.rb +3 -2
- data/lib/mongoid/components.rb +4 -1
- data/lib/mongoid/config.rb +163 -13
- data/lib/mongoid/contexts.rb +1 -2
- data/lib/mongoid/contexts/enumerable.rb +1 -1
- data/lib/mongoid/contexts/mongo.rb +1 -1
- data/lib/mongoid/contexts/paging.rb +10 -2
- data/lib/mongoid/criteria.rb +13 -22
- data/lib/mongoid/criterion/exclusion.rb +3 -3
- data/lib/mongoid/criterion/inclusion.rb +17 -0
- data/lib/mongoid/criterion/optional.rb +1 -1
- data/lib/mongoid/dirty.rb +253 -0
- data/lib/mongoid/document.rb +40 -85
- data/lib/mongoid/errors.rb +48 -1
- data/lib/mongoid/extensions.rb +11 -9
- data/lib/mongoid/extensions/big_decimal/conversions.rb +2 -2
- data/lib/mongoid/extensions/boolean/conversions.rb +8 -2
- data/lib/mongoid/extensions/date/conversions.rb +13 -4
- data/lib/mongoid/extensions/datetime/conversions.rb +1 -6
- data/lib/mongoid/extensions/float/conversions.rb +5 -1
- data/lib/mongoid/extensions/hash/assimilation.rb +12 -3
- data/lib/mongoid/extensions/hash/conversions.rb +34 -4
- data/lib/mongoid/extensions/integer/conversions.rb +5 -1
- data/lib/mongoid/extensions/nil/assimilation.rb +4 -0
- data/lib/mongoid/extensions/object/conversions.rb +3 -3
- data/lib/mongoid/extensions/string/conversions.rb +1 -1
- data/lib/mongoid/extensions/symbol/inflections.rb +5 -2
- data/lib/mongoid/extensions/time_conversions.rb +35 -0
- data/lib/mongoid/factory.rb +2 -1
- data/lib/mongoid/field.rb +15 -2
- data/lib/mongoid/fields.rb +1 -1
- data/lib/mongoid/identity.rb +3 -3
- data/lib/mongoid/indexes.rb +3 -3
- data/lib/mongoid/matchers.rb +1 -2
- data/lib/mongoid/memoization.rb +8 -2
- data/lib/mongoid/named_scope.rb +0 -5
- data/lib/mongoid/observable.rb +1 -1
- data/lib/mongoid/paths.rb +30 -22
- data/lib/mongoid/persistence.rb +218 -0
- data/lib/mongoid/persistence/command.rb +39 -0
- data/lib/mongoid/persistence/insert.rb +47 -0
- data/lib/mongoid/persistence/insert_embedded.rb +38 -0
- data/lib/mongoid/persistence/remove.rb +39 -0
- data/lib/mongoid/persistence/remove_all.rb +37 -0
- data/lib/mongoid/persistence/remove_embedded.rb +50 -0
- data/lib/mongoid/persistence/update.rb +63 -0
- data/lib/mongoid/railtie.rb +53 -0
- data/lib/mongoid/railties/database.rake +37 -0
- data/lib/mongoid/timestamps.rb +2 -2
- data/lib/mongoid/validations.rb +2 -2
- data/lib/mongoid/validations/associated.rb +2 -2
- data/lib/mongoid/validations/uniqueness.rb +13 -2
- data/lib/mongoid/version.rb +4 -0
- data/lib/mongoid/versioning.rb +3 -2
- data/lib/rails/generators/mongoid/config/config_generator.rb +41 -0
- data/lib/rails/generators/mongoid/config/templates/mongoid.yml +24 -0
- data/lib/rails/generators/mongoid/model/model_generator.rb +24 -0
- data/lib/rails/generators/mongoid/model/templates/model.rb +15 -0
- data/lib/rails/generators/mongoid_generator.rb +61 -0
- metadata +76 -301
- data/.gitignore +0 -6
- data/.watchr +0 -29
- data/Rakefile +0 -52
- data/VERSION +0 -1
- data/caliper.yml +0 -4
- data/lib/mongoid/collections/mimic.rb +0 -46
- data/lib/mongoid/commands.rb +0 -161
- data/lib/mongoid/commands/create.rb +0 -19
- data/lib/mongoid/commands/delete.rb +0 -16
- data/lib/mongoid/commands/delete_all.rb +0 -23
- data/lib/mongoid/commands/deletion.rb +0 -18
- data/lib/mongoid/commands/destroy.rb +0 -17
- data/lib/mongoid/commands/destroy_all.rb +0 -23
- data/lib/mongoid/commands/save.rb +0 -29
- data/lib/mongoid/extensions/time/conversions.rb +0 -18
- data/mongoid.gemspec +0 -408
- data/perf/benchmark.rb +0 -77
- data/spec/integration/mongoid/associations_spec.rb +0 -340
- data/spec/integration/mongoid/attributes_spec.rb +0 -22
- data/spec/integration/mongoid/commands_spec.rb +0 -227
- data/spec/integration/mongoid/contexts/enumerable_spec.rb +0 -33
- data/spec/integration/mongoid/criteria_spec.rb +0 -272
- data/spec/integration/mongoid/document_spec.rb +0 -650
- data/spec/integration/mongoid/extensions_spec.rb +0 -22
- data/spec/integration/mongoid/finders_spec.rb +0 -119
- data/spec/integration/mongoid/inheritance_spec.rb +0 -137
- data/spec/integration/mongoid/named_scope_spec.rb +0 -46
- data/spec/models/address.rb +0 -39
- data/spec/models/animal.rb +0 -6
- data/spec/models/callbacks.rb +0 -18
- data/spec/models/comment.rb +0 -8
- data/spec/models/country_code.rb +0 -6
- data/spec/models/employer.rb +0 -5
- data/spec/models/game.rb +0 -7
- data/spec/models/inheritance.rb +0 -56
- data/spec/models/location.rb +0 -5
- data/spec/models/mixed_drink.rb +0 -4
- data/spec/models/name.rb +0 -13
- data/spec/models/namespacing.rb +0 -11
- data/spec/models/patient.rb +0 -4
- data/spec/models/person.rb +0 -99
- data/spec/models/pet.rb +0 -7
- data/spec/models/pet_owner.rb +0 -6
- data/spec/models/phone.rb +0 -7
- data/spec/models/post.rb +0 -15
- data/spec/models/translation.rb +0 -5
- data/spec/models/vet_visit.rb +0 -5
- data/spec/spec.opts +0 -3
- data/spec/spec_helper.rb +0 -31
- data/spec/unit/mongoid/associations/belongs_to_related_spec.rb +0 -145
- data/spec/unit/mongoid/associations/embed_many_spec.rb +0 -516
- data/spec/unit/mongoid/associations/embed_one_spec.rb +0 -282
- data/spec/unit/mongoid/associations/embedded_in_spec.rb +0 -193
- data/spec/unit/mongoid/associations/has_many_related_spec.rb +0 -418
- data/spec/unit/mongoid/associations/has_one_related_spec.rb +0 -179
- data/spec/unit/mongoid/associations/meta_data_spec.rb +0 -88
- data/spec/unit/mongoid/associations/options_spec.rb +0 -192
- data/spec/unit/mongoid/associations_spec.rb +0 -595
- data/spec/unit/mongoid/attributes_spec.rb +0 -507
- data/spec/unit/mongoid/callbacks_spec.rb +0 -55
- data/spec/unit/mongoid/collection_spec.rb +0 -187
- data/spec/unit/mongoid/collections/cyclic_iterator_spec.rb +0 -75
- data/spec/unit/mongoid/collections/master_spec.rb +0 -41
- data/spec/unit/mongoid/collections/mimic_spec.rb +0 -43
- data/spec/unit/mongoid/collections/slaves_spec.rb +0 -81
- data/spec/unit/mongoid/commands/create_spec.rb +0 -31
- data/spec/unit/mongoid/commands/delete_all_spec.rb +0 -58
- data/spec/unit/mongoid/commands/delete_spec.rb +0 -38
- data/spec/unit/mongoid/commands/destroy_all_spec.rb +0 -21
- data/spec/unit/mongoid/commands/destroy_spec.rb +0 -51
- data/spec/unit/mongoid/commands/save_spec.rb +0 -107
- data/spec/unit/mongoid/commands_spec.rb +0 -270
- data/spec/unit/mongoid/config_spec.rb +0 -172
- data/spec/unit/mongoid/contexts/enumerable_spec.rb +0 -421
- data/spec/unit/mongoid/contexts/mongo_spec.rb +0 -682
- data/spec/unit/mongoid/contexts_spec.rb +0 -25
- data/spec/unit/mongoid/criteria_spec.rb +0 -824
- data/spec/unit/mongoid/criterion/complex_spec.rb +0 -19
- data/spec/unit/mongoid/criterion/exclusion_spec.rb +0 -91
- data/spec/unit/mongoid/criterion/inclusion_spec.rb +0 -219
- data/spec/unit/mongoid/criterion/optional_spec.rb +0 -319
- data/spec/unit/mongoid/cursor_spec.rb +0 -74
- data/spec/unit/mongoid/deprecation_spec.rb +0 -24
- data/spec/unit/mongoid/document_spec.rb +0 -818
- data/spec/unit/mongoid/errors_spec.rb +0 -103
- data/spec/unit/mongoid/extensions/array/accessors_spec.rb +0 -50
- data/spec/unit/mongoid/extensions/array/assimilation_spec.rb +0 -24
- data/spec/unit/mongoid/extensions/array/conversions_spec.rb +0 -35
- data/spec/unit/mongoid/extensions/array/parentization_spec.rb +0 -20
- data/spec/unit/mongoid/extensions/big_decimal/conversions_spec.rb +0 -22
- data/spec/unit/mongoid/extensions/binary/conversions_spec.rb +0 -22
- data/spec/unit/mongoid/extensions/boolean/conversions_spec.rb +0 -49
- data/spec/unit/mongoid/extensions/date/conversions_spec.rb +0 -102
- data/spec/unit/mongoid/extensions/datetime/conversions_spec.rb +0 -67
- data/spec/unit/mongoid/extensions/float/conversions_spec.rb +0 -61
- data/spec/unit/mongoid/extensions/hash/accessors_spec.rb +0 -184
- data/spec/unit/mongoid/extensions/hash/assimilation_spec.rb +0 -46
- data/spec/unit/mongoid/extensions/hash/conversions_spec.rb +0 -21
- data/spec/unit/mongoid/extensions/hash/criteria_helpers_spec.rb +0 -17
- data/spec/unit/mongoid/extensions/hash/scoping_spec.rb +0 -14
- data/spec/unit/mongoid/extensions/integer/conversions_spec.rb +0 -61
- data/spec/unit/mongoid/extensions/nil/assimilation_spec.rb +0 -24
- data/spec/unit/mongoid/extensions/object/conversions_spec.rb +0 -57
- data/spec/unit/mongoid/extensions/proc/scoping_spec.rb +0 -34
- data/spec/unit/mongoid/extensions/string/conversions_spec.rb +0 -17
- data/spec/unit/mongoid/extensions/string/inflections_spec.rb +0 -208
- data/spec/unit/mongoid/extensions/symbol/inflections_spec.rb +0 -91
- data/spec/unit/mongoid/extensions/time/conversions_spec.rb +0 -70
- data/spec/unit/mongoid/extras_spec.rb +0 -102
- data/spec/unit/mongoid/factory_spec.rb +0 -31
- data/spec/unit/mongoid/field_spec.rb +0 -143
- data/spec/unit/mongoid/fields_spec.rb +0 -181
- data/spec/unit/mongoid/finders_spec.rb +0 -404
- data/spec/unit/mongoid/identity_spec.rb +0 -109
- data/spec/unit/mongoid/indexes_spec.rb +0 -93
- data/spec/unit/mongoid/javascript_spec.rb +0 -48
- data/spec/unit/mongoid/matchers/all_spec.rb +0 -27
- data/spec/unit/mongoid/matchers/default_spec.rb +0 -27
- data/spec/unit/mongoid/matchers/exists_spec.rb +0 -56
- data/spec/unit/mongoid/matchers/gt_spec.rb +0 -39
- data/spec/unit/mongoid/matchers/gte_spec.rb +0 -49
- data/spec/unit/mongoid/matchers/in_spec.rb +0 -27
- data/spec/unit/mongoid/matchers/lt_spec.rb +0 -39
- data/spec/unit/mongoid/matchers/lte_spec.rb +0 -49
- data/spec/unit/mongoid/matchers/ne_spec.rb +0 -27
- data/spec/unit/mongoid/matchers/nin_spec.rb +0 -27
- data/spec/unit/mongoid/matchers/size_spec.rb +0 -27
- data/spec/unit/mongoid/matchers_spec.rb +0 -329
- data/spec/unit/mongoid/memoization_spec.rb +0 -75
- data/spec/unit/mongoid/named_scope_spec.rb +0 -123
- data/spec/unit/mongoid/observable_spec.rb +0 -46
- data/spec/unit/mongoid/paths_spec.rb +0 -124
- data/spec/unit/mongoid/scope_spec.rb +0 -240
- data/spec/unit/mongoid/state_spec.rb +0 -83
- data/spec/unit/mongoid/timestamps_spec.rb +0 -25
- data/spec/unit/mongoid/validations/associated_spec.rb +0 -103
- data/spec/unit/mongoid/validations/uniqueness_spec.rb +0 -47
- data/spec/unit/mongoid/validations_spec.rb +0 -190
- data/spec/unit/mongoid/versioning_spec.rb +0 -41
- data/spec/unit/mongoid_spec.rb +0 -46
@@ -1,109 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Mongoid::Identity do
|
4
|
-
|
5
|
-
describe ".create" do
|
6
|
-
|
7
|
-
let(:name) { Name.new }
|
8
|
-
|
9
|
-
context "when persisting types" do
|
10
|
-
|
11
|
-
it "sets the document _type to the class name" do
|
12
|
-
Mongoid::Identity.create(name)
|
13
|
-
name._type.should == "Name"
|
14
|
-
end
|
15
|
-
|
16
|
-
end
|
17
|
-
|
18
|
-
context "when not persisting types" do
|
19
|
-
|
20
|
-
before do
|
21
|
-
Mongoid.persist_types = false
|
22
|
-
@name = Name.new
|
23
|
-
end
|
24
|
-
|
25
|
-
after do
|
26
|
-
Mongoid.persist_types = true
|
27
|
-
end
|
28
|
-
|
29
|
-
it "does not set the type" do
|
30
|
-
@name._type.should be_nil
|
31
|
-
end
|
32
|
-
|
33
|
-
end
|
34
|
-
|
35
|
-
it "returns the document" do
|
36
|
-
Mongoid::Identity.create(name).should == name
|
37
|
-
end
|
38
|
-
|
39
|
-
context "when the document has a primary key" do
|
40
|
-
|
41
|
-
before do
|
42
|
-
@address = Address.allocate
|
43
|
-
@address.instance_variable_set(:@attributes, { "street" => "Market St"})
|
44
|
-
end
|
45
|
-
|
46
|
-
it "sets the id to the composite key" do
|
47
|
-
Mongoid::Identity.create(@address)
|
48
|
-
@address.id.should == "market-st"
|
49
|
-
end
|
50
|
-
|
51
|
-
end
|
52
|
-
|
53
|
-
context "when the document has no primary key" do
|
54
|
-
|
55
|
-
context "when the document has no id" do
|
56
|
-
|
57
|
-
before do
|
58
|
-
@person = Person.allocate
|
59
|
-
@person.instance_variable_set(:@attributes, {})
|
60
|
-
@object_id = stub(:to_s => "1")
|
61
|
-
Mongo::ObjectID.expects(:new).returns(@object_id)
|
62
|
-
end
|
63
|
-
|
64
|
-
context "when using object ids" do
|
65
|
-
|
66
|
-
before do
|
67
|
-
Mongoid.use_object_ids = true
|
68
|
-
end
|
69
|
-
|
70
|
-
after do
|
71
|
-
Mongoid.use_object_ids = false
|
72
|
-
end
|
73
|
-
|
74
|
-
it "sets the id to a mongo object id" do
|
75
|
-
Mongoid::Identity.create(@person)
|
76
|
-
@person.id.should == @object_id
|
77
|
-
end
|
78
|
-
end
|
79
|
-
|
80
|
-
context "when not using object ids" do
|
81
|
-
|
82
|
-
it "sets the id to a mongo object id string" do
|
83
|
-
Mongoid::Identity.create(@person)
|
84
|
-
@person.id.should == "1"
|
85
|
-
end
|
86
|
-
|
87
|
-
end
|
88
|
-
|
89
|
-
end
|
90
|
-
|
91
|
-
context "when the document has an id" do
|
92
|
-
|
93
|
-
before do
|
94
|
-
@person = Person.allocate
|
95
|
-
@person.instance_variable_set(:@attributes, { "_id" => "5" })
|
96
|
-
end
|
97
|
-
|
98
|
-
it "returns the existing id" do
|
99
|
-
Mongoid::Identity.create(@person)
|
100
|
-
@person.id.should == "5"
|
101
|
-
end
|
102
|
-
|
103
|
-
end
|
104
|
-
|
105
|
-
end
|
106
|
-
|
107
|
-
end
|
108
|
-
|
109
|
-
end
|
@@ -1,93 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Mongoid::Indexes do
|
4
|
-
|
5
|
-
describe ".included" do
|
6
|
-
|
7
|
-
before do
|
8
|
-
@class = Class.new do
|
9
|
-
include Mongoid::Indexes
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
it "adds an indexed accessor" do
|
14
|
-
@class.should respond_to(:indexed)
|
15
|
-
end
|
16
|
-
|
17
|
-
it "defaults indexed to false" do
|
18
|
-
@class.indexed.should be_false
|
19
|
-
end
|
20
|
-
|
21
|
-
end
|
22
|
-
|
23
|
-
describe ".add_indexes" do
|
24
|
-
|
25
|
-
before do
|
26
|
-
@collection = mock
|
27
|
-
end
|
28
|
-
|
29
|
-
context "when indexes have not been added" do
|
30
|
-
|
31
|
-
before do
|
32
|
-
@class = Class.new do
|
33
|
-
include Mongoid::Indexes
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
it "adds the _type index" do
|
38
|
-
@class.expects(:_collection).returns(@collection)
|
39
|
-
@collection.expects(:create_index).with(:_type, false)
|
40
|
-
@class.add_indexes
|
41
|
-
@class.indexed.should be_true
|
42
|
-
end
|
43
|
-
|
44
|
-
end
|
45
|
-
|
46
|
-
context "when indexes have been added" do
|
47
|
-
|
48
|
-
before do
|
49
|
-
@class = Class.new do
|
50
|
-
include Mongoid::Indexes
|
51
|
-
end
|
52
|
-
@class.indexed = true
|
53
|
-
end
|
54
|
-
|
55
|
-
it "ignores the request" do
|
56
|
-
@class.add_indexes
|
57
|
-
end
|
58
|
-
|
59
|
-
end
|
60
|
-
|
61
|
-
end
|
62
|
-
|
63
|
-
describe ".index" do
|
64
|
-
|
65
|
-
before do
|
66
|
-
@collection = mock
|
67
|
-
@class = Class.new do
|
68
|
-
include Mongoid::Indexes
|
69
|
-
end
|
70
|
-
@class.expects(:collection).returns(@collection)
|
71
|
-
end
|
72
|
-
|
73
|
-
context "when unique" do
|
74
|
-
|
75
|
-
it "creates a unique index on the collection" do
|
76
|
-
@collection.expects(:create_index).with(:name, true)
|
77
|
-
@class.index(:name, :unique => true)
|
78
|
-
end
|
79
|
-
|
80
|
-
end
|
81
|
-
|
82
|
-
context "when not unique" do
|
83
|
-
|
84
|
-
it "creates an index on the collection" do
|
85
|
-
@collection.expects(:create_index).with(:name, false)
|
86
|
-
@class.index(:name)
|
87
|
-
end
|
88
|
-
|
89
|
-
end
|
90
|
-
|
91
|
-
end
|
92
|
-
|
93
|
-
end
|
@@ -1,48 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Mongoid::Javascript do
|
4
|
-
|
5
|
-
let(:js) do
|
6
|
-
Mongoid::Javascript
|
7
|
-
end
|
8
|
-
|
9
|
-
describe ".aggregate" do
|
10
|
-
|
11
|
-
it "returns the aggregate function" do
|
12
|
-
js.aggregate.should == "function(obj, prev) { prev.count++; }"
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
describe ".group" do
|
17
|
-
|
18
|
-
it "returns the group function" do
|
19
|
-
js.group.should == "function(obj, prev) { prev.group.push(obj); }"
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
describe ".max" do
|
24
|
-
|
25
|
-
it "returns the max function" do
|
26
|
-
js.max.should == "function(obj, prev) { if (prev.max == 'start') { " +
|
27
|
-
"prev.max = obj.[field]; } if (prev.max < obj.[field]) { prev.max = obj.[field];" +
|
28
|
-
" } }"
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
describe ".min" do
|
33
|
-
|
34
|
-
it "returns the min function" do
|
35
|
-
js.min.should == "function(obj, prev) { if (prev.min == 'start') { " +
|
36
|
-
"prev.min = obj.[field]; } if (prev.min > obj.[field]) { prev.min = obj.[field];" +
|
37
|
-
" } }"
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
describe ".sum" do
|
42
|
-
|
43
|
-
it "returns the sum function" do
|
44
|
-
js.sum.should == "function(obj, prev) { if (prev.sum == 'start') { prev.sum = 0; " +
|
45
|
-
"} prev.sum += obj.[field]; }"
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
@@ -1,27 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Mongoid::Matchers::All do
|
4
|
-
|
5
|
-
let(:matcher) { Mongoid::Matchers::All.new(["first", "second"]) }
|
6
|
-
|
7
|
-
describe "#matches?" do
|
8
|
-
|
9
|
-
context "when the values are equal" do
|
10
|
-
|
11
|
-
it "returns true" do
|
12
|
-
matcher.matches?("$all" => ["first", "second"]).should be_true
|
13
|
-
end
|
14
|
-
|
15
|
-
end
|
16
|
-
|
17
|
-
context "when the values are not equal" do
|
18
|
-
|
19
|
-
it "returns false" do
|
20
|
-
matcher.matches?("$all" => ["first"]).should be_false
|
21
|
-
end
|
22
|
-
|
23
|
-
end
|
24
|
-
|
25
|
-
end
|
26
|
-
|
27
|
-
end
|
@@ -1,27 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Mongoid::Matchers::Default do
|
4
|
-
|
5
|
-
let(:matcher) { Mongoid::Matchers::Default.new("Testing") }
|
6
|
-
|
7
|
-
describe "#matches?" do
|
8
|
-
|
9
|
-
context "when the values are equal" do
|
10
|
-
|
11
|
-
it "returns true" do
|
12
|
-
matcher.matches?("Testing").should be_true
|
13
|
-
end
|
14
|
-
|
15
|
-
end
|
16
|
-
|
17
|
-
context "when the values are not equal" do
|
18
|
-
|
19
|
-
it "returns false" do
|
20
|
-
matcher.matches?("Other").should be_false
|
21
|
-
end
|
22
|
-
|
23
|
-
end
|
24
|
-
|
25
|
-
end
|
26
|
-
|
27
|
-
end
|
@@ -1,56 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Mongoid::Matchers::Exists do
|
4
|
-
|
5
|
-
describe "#matches?" do
|
6
|
-
|
7
|
-
context "when checking for existence" do
|
8
|
-
|
9
|
-
context "when the value exists" do
|
10
|
-
|
11
|
-
let(:matcher) { Mongoid::Matchers::Exists.new("Test") }
|
12
|
-
|
13
|
-
it "returns true" do
|
14
|
-
matcher.matches?("$exists" => true).should be_true
|
15
|
-
end
|
16
|
-
|
17
|
-
end
|
18
|
-
|
19
|
-
context "when the value does not exist" do
|
20
|
-
|
21
|
-
let(:matcher) { Mongoid::Matchers::Exists.new(nil) }
|
22
|
-
|
23
|
-
it "returns false" do
|
24
|
-
matcher.matches?("$exists" => true).should be_false
|
25
|
-
end
|
26
|
-
|
27
|
-
end
|
28
|
-
|
29
|
-
end
|
30
|
-
|
31
|
-
context "when checking for nonexistence" do
|
32
|
-
|
33
|
-
context "when the value exists" do
|
34
|
-
|
35
|
-
let(:matcher) { Mongoid::Matchers::Exists.new("Test") }
|
36
|
-
|
37
|
-
it "returns false" do
|
38
|
-
matcher.matches?("$exists" => false).should be_false
|
39
|
-
end
|
40
|
-
|
41
|
-
end
|
42
|
-
|
43
|
-
context "when the value does not exist" do
|
44
|
-
|
45
|
-
let(:matcher) { Mongoid::Matchers::Exists.new(nil) }
|
46
|
-
|
47
|
-
it "returns true" do
|
48
|
-
matcher.matches?("$exists" => false).should be_true
|
49
|
-
end
|
50
|
-
|
51
|
-
end
|
52
|
-
end
|
53
|
-
|
54
|
-
end
|
55
|
-
|
56
|
-
end
|
@@ -1,39 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Mongoid::Matchers::Gt do
|
4
|
-
|
5
|
-
describe "#matches?" do
|
6
|
-
|
7
|
-
context "when the value is larger" do
|
8
|
-
|
9
|
-
let(:matcher) { Mongoid::Matchers::Gt.new(5) }
|
10
|
-
|
11
|
-
it "returns true" do
|
12
|
-
matcher.matches?("$gte" => 3).should be_true
|
13
|
-
end
|
14
|
-
|
15
|
-
end
|
16
|
-
|
17
|
-
context "when the value is smaller" do
|
18
|
-
|
19
|
-
let(:matcher) { Mongoid::Matchers::Gt.new(5) }
|
20
|
-
|
21
|
-
it "returns false" do
|
22
|
-
matcher.matches?("$gte" => 10).should be_false
|
23
|
-
end
|
24
|
-
|
25
|
-
end
|
26
|
-
|
27
|
-
context "when the value is nil" do
|
28
|
-
|
29
|
-
let(:matcher) { Mongoid::Matchers::Gt.new(nil) }
|
30
|
-
|
31
|
-
it "returns false" do
|
32
|
-
matcher.matches?("$gte" => 5).should be_false
|
33
|
-
end
|
34
|
-
|
35
|
-
end
|
36
|
-
|
37
|
-
end
|
38
|
-
|
39
|
-
end
|
@@ -1,49 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Mongoid::Matchers::Gte do
|
4
|
-
|
5
|
-
describe "#matches?" do
|
6
|
-
|
7
|
-
context "when the value is larger" do
|
8
|
-
|
9
|
-
let(:matcher) { Mongoid::Matchers::Gte.new(5) }
|
10
|
-
|
11
|
-
it "returns true" do
|
12
|
-
matcher.matches?("$gte" => 3).should be_true
|
13
|
-
end
|
14
|
-
|
15
|
-
end
|
16
|
-
|
17
|
-
context "when the value is smaller" do
|
18
|
-
|
19
|
-
let(:matcher) { Mongoid::Matchers::Gte.new(5) }
|
20
|
-
|
21
|
-
it "returns false" do
|
22
|
-
matcher.matches?("$gte" => 10).should be_false
|
23
|
-
end
|
24
|
-
|
25
|
-
end
|
26
|
-
|
27
|
-
context "when the value is equal" do
|
28
|
-
|
29
|
-
let(:matcher) { Mongoid::Matchers::Gte.new(5) }
|
30
|
-
|
31
|
-
it "returns true" do
|
32
|
-
matcher.matches?("$gte" => 5).should be_true
|
33
|
-
end
|
34
|
-
|
35
|
-
end
|
36
|
-
|
37
|
-
context "when the value is nil" do
|
38
|
-
|
39
|
-
let(:matcher) { Mongoid::Matchers::Gte.new(nil) }
|
40
|
-
|
41
|
-
it "returns false" do
|
42
|
-
matcher.matches?("$gte" => 5).should be_false
|
43
|
-
end
|
44
|
-
|
45
|
-
end
|
46
|
-
|
47
|
-
end
|
48
|
-
|
49
|
-
end
|