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,103 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Mongoid::Errors do
|
4
|
-
|
5
|
-
describe Mongoid::Errors::DocumentNotFound do
|
6
|
-
|
7
|
-
describe "#message" do
|
8
|
-
|
9
|
-
context "default" do
|
10
|
-
|
11
|
-
before do
|
12
|
-
@error = Mongoid::Errors::DocumentNotFound.new(Person, "3")
|
13
|
-
end
|
14
|
-
|
15
|
-
it "contains document not found" do
|
16
|
-
@error.message.should include("Document not found")
|
17
|
-
end
|
18
|
-
|
19
|
-
end
|
20
|
-
|
21
|
-
end
|
22
|
-
|
23
|
-
end
|
24
|
-
|
25
|
-
describe Mongoid::Errors::InvalidOptions do
|
26
|
-
|
27
|
-
describe "#message" do
|
28
|
-
|
29
|
-
context "default" do
|
30
|
-
|
31
|
-
before do
|
32
|
-
@error = Mongoid::Errors::InvalidOptions.new
|
33
|
-
end
|
34
|
-
|
35
|
-
it "returns the class name" do
|
36
|
-
@error.message.should == @error.class.name
|
37
|
-
end
|
38
|
-
|
39
|
-
end
|
40
|
-
|
41
|
-
end
|
42
|
-
|
43
|
-
end
|
44
|
-
|
45
|
-
describe Mongoid::Errors::InvalidDatabase do
|
46
|
-
|
47
|
-
describe "#message" do
|
48
|
-
|
49
|
-
before do
|
50
|
-
@error = Mongoid::Errors::InvalidDatabase.new("Test")
|
51
|
-
end
|
52
|
-
|
53
|
-
it "returns a message with the bad db object class" do
|
54
|
-
@error.message.should include("String")
|
55
|
-
end
|
56
|
-
|
57
|
-
end
|
58
|
-
|
59
|
-
end
|
60
|
-
|
61
|
-
describe Mongoid::Errors::Validations do
|
62
|
-
|
63
|
-
describe "#message" do
|
64
|
-
|
65
|
-
context "default" do
|
66
|
-
|
67
|
-
before do
|
68
|
-
@errors = stub(:full_messages => "Testing")
|
69
|
-
@error = Mongoid::Errors::Validations.new(@errors)
|
70
|
-
end
|
71
|
-
|
72
|
-
it "contains the errors' full messages" do
|
73
|
-
@error.message.should include("Testing")
|
74
|
-
end
|
75
|
-
|
76
|
-
end
|
77
|
-
|
78
|
-
end
|
79
|
-
|
80
|
-
end
|
81
|
-
|
82
|
-
describe Mongoid::Errors::InvalidCollection do
|
83
|
-
|
84
|
-
describe "#message" do
|
85
|
-
|
86
|
-
context "default" do
|
87
|
-
|
88
|
-
before do
|
89
|
-
@klass = Address
|
90
|
-
@error = Mongoid::Errors::InvalidCollection.new(@klass)
|
91
|
-
end
|
92
|
-
|
93
|
-
it "contains class is not allowed" do
|
94
|
-
@error.message.should include("Address is not allowed")
|
95
|
-
end
|
96
|
-
|
97
|
-
end
|
98
|
-
|
99
|
-
end
|
100
|
-
|
101
|
-
end
|
102
|
-
|
103
|
-
end
|
@@ -1,50 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Mongoid::Extensions::Array::Accessors do
|
4
|
-
|
5
|
-
describe "#update" do
|
6
|
-
|
7
|
-
context "when the attributes exist" do
|
8
|
-
|
9
|
-
before do
|
10
|
-
@array = [{ "_id" => 1, "name" => "James T. Kirk" }]
|
11
|
-
end
|
12
|
-
|
13
|
-
it "overwrites with the new attributes" do
|
14
|
-
@array.update({ "_id" => 1, "name" => "Spock" })
|
15
|
-
@array.first["name"].should == "Spock"
|
16
|
-
end
|
17
|
-
|
18
|
-
end
|
19
|
-
|
20
|
-
context "when the attributes do not exist" do
|
21
|
-
|
22
|
-
before do
|
23
|
-
@array = [{ "_id" => 1, "name" => "James T. Kirk" }]
|
24
|
-
end
|
25
|
-
|
26
|
-
it "appends the new attributes" do
|
27
|
-
@array.update({ "_id" => 2, "name" => "Scotty" })
|
28
|
-
@array.size.should == 2
|
29
|
-
@array.last["name"].should == "Scotty"
|
30
|
-
end
|
31
|
-
|
32
|
-
end
|
33
|
-
|
34
|
-
context "when the new attribtues have no id" do
|
35
|
-
|
36
|
-
before do
|
37
|
-
@array = [{ "_id" => 1, :name => "James T. Kirk" }]
|
38
|
-
end
|
39
|
-
|
40
|
-
it "appends the new attributes" do
|
41
|
-
@array.update({"name" => "Scotty" })
|
42
|
-
@array.size.should == 2
|
43
|
-
@array.last["name"].should == "Scotty"
|
44
|
-
end
|
45
|
-
|
46
|
-
end
|
47
|
-
|
48
|
-
end
|
49
|
-
|
50
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Mongoid::Extensions::Array::Assimilation do
|
4
|
-
|
5
|
-
describe "#assimilate" do
|
6
|
-
|
7
|
-
before do
|
8
|
-
@address_one = { :street => "Circular Quay" }
|
9
|
-
@address_two = Address.new(:street => "King St.")
|
10
|
-
@parent = Person.new(:title => "Mr.")
|
11
|
-
@options = Mongoid::Associations::Options.new(:name => :addresses)
|
12
|
-
@child = [@address_one, @address_two]
|
13
|
-
end
|
14
|
-
|
15
|
-
it "incorporates the hash into the object graph" do
|
16
|
-
@child.assimilate(@parent, @options)
|
17
|
-
@parent.addresses.size.should == 2
|
18
|
-
@parent.addresses.first.street.should == "Circular Quay"
|
19
|
-
@parent.addresses.last.street.should == "King St."
|
20
|
-
end
|
21
|
-
|
22
|
-
end
|
23
|
-
|
24
|
-
end
|
@@ -1,35 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Mongoid::Extensions::Array::Conversions do
|
4
|
-
|
5
|
-
describe "#mongoidize" do
|
6
|
-
|
7
|
-
it "collects each of its attributes" do
|
8
|
-
array = [
|
9
|
-
Person.new(:_id => 1, :title => "Sir"),
|
10
|
-
Person.new(:_id => 2, :title => "Madam")
|
11
|
-
]
|
12
|
-
array.mongoidize.should ==
|
13
|
-
[ HashWithIndifferentAccess.new({ :_id => 1, :title => "Sir", :age => 100, :_type => "Person", "blood_alcohol_content" => 0.0, :pets => false }),
|
14
|
-
HashWithIndifferentAccess.new({ :_id => 2, :title => "Madam", :age => 100, :_type => "Person", "blood_alcohol_content" => 0.0, :pets => false }) ]
|
15
|
-
end
|
16
|
-
|
17
|
-
end
|
18
|
-
|
19
|
-
describe "#get" do
|
20
|
-
|
21
|
-
it "returns the array" do
|
22
|
-
Array.get(["test"]).should == ["test"]
|
23
|
-
end
|
24
|
-
|
25
|
-
end
|
26
|
-
|
27
|
-
describe "#set" do
|
28
|
-
|
29
|
-
it "returns the array" do
|
30
|
-
Array.set(["test"]).should == ["test"]
|
31
|
-
end
|
32
|
-
|
33
|
-
end
|
34
|
-
|
35
|
-
end
|
@@ -1,20 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Mongoid::Extensions::Array::Parentization do
|
4
|
-
|
5
|
-
describe "#parentize" do
|
6
|
-
|
7
|
-
before do
|
8
|
-
@parent = stub
|
9
|
-
@child = mock
|
10
|
-
@array = [@child]
|
11
|
-
end
|
12
|
-
|
13
|
-
it "sets the parent on each element" do
|
14
|
-
@child.expects(:parentize).with(@parent, :child)
|
15
|
-
@array.parentize(@parent, :child)
|
16
|
-
end
|
17
|
-
|
18
|
-
end
|
19
|
-
|
20
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Mongoid::Extensions::BigDecimal::Conversions do
|
4
|
-
|
5
|
-
let(:number) do
|
6
|
-
BigDecimal.new("123456.789")
|
7
|
-
end
|
8
|
-
|
9
|
-
describe "#get" do
|
10
|
-
|
11
|
-
it "converts the string to a big decimal" do
|
12
|
-
BigDecimal.get("123456.789").should == number
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
describe "#set" do
|
17
|
-
|
18
|
-
it "converts the big decimal to a string" do
|
19
|
-
BigDecimal.set(number).should == "123456.789"
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Mongoid::Extensions::Binary::Conversions do
|
4
|
-
|
5
|
-
let(:bin) do
|
6
|
-
Binary.new
|
7
|
-
end
|
8
|
-
|
9
|
-
describe "#get" do
|
10
|
-
|
11
|
-
it "returns self" do
|
12
|
-
Binary.get(bin).should == bin
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
describe "#set" do
|
17
|
-
|
18
|
-
it "returns self" do
|
19
|
-
Binary.set(bin).should == bin
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
@@ -1,49 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Mongoid::Extensions::Boolean::Conversions do
|
4
|
-
|
5
|
-
describe "#set" do
|
6
|
-
|
7
|
-
context "when 'true'" do
|
8
|
-
|
9
|
-
it "returns true" do
|
10
|
-
Boolean.set("true").should be_true
|
11
|
-
end
|
12
|
-
|
13
|
-
end
|
14
|
-
|
15
|
-
context "when 'false'" do
|
16
|
-
|
17
|
-
it "returns false" do
|
18
|
-
Boolean.set("false").should be_false
|
19
|
-
end
|
20
|
-
|
21
|
-
end
|
22
|
-
|
23
|
-
context "when 0" do
|
24
|
-
|
25
|
-
it "returns false" do
|
26
|
-
Boolean.set("0").should be_false
|
27
|
-
end
|
28
|
-
|
29
|
-
end
|
30
|
-
|
31
|
-
context "when 1" do
|
32
|
-
|
33
|
-
it "returns true" do
|
34
|
-
Boolean.set("1").should be_true
|
35
|
-
end
|
36
|
-
|
37
|
-
end
|
38
|
-
|
39
|
-
end
|
40
|
-
|
41
|
-
describe "#get" do
|
42
|
-
|
43
|
-
it "returns the boolean" do
|
44
|
-
Boolean.get(false).should be_false
|
45
|
-
end
|
46
|
-
|
47
|
-
end
|
48
|
-
|
49
|
-
end
|
@@ -1,102 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Mongoid::Extensions::Date::Conversions do
|
4
|
-
|
5
|
-
before do
|
6
|
-
@time = Date.today.to_time
|
7
|
-
end
|
8
|
-
|
9
|
-
describe "#set" do
|
10
|
-
|
11
|
-
context "when string provided" do
|
12
|
-
|
13
|
-
context "when string is a non utc time" do
|
14
|
-
|
15
|
-
it "returns a utc time from the string" do
|
16
|
-
Date.set(@time.to_s).should == @time.utc
|
17
|
-
end
|
18
|
-
|
19
|
-
end
|
20
|
-
|
21
|
-
context "when string is a date" do
|
22
|
-
|
23
|
-
it "returns a time from the string" do
|
24
|
-
date = RUBY_VERSION.start_with?("1.9") ? "15/01/2007" : "01/15/2007"
|
25
|
-
Date.set(date).should == Date.new(2007, 1, 15).at_midnight.utc
|
26
|
-
end
|
27
|
-
|
28
|
-
end
|
29
|
-
|
30
|
-
context "when string is empty" do
|
31
|
-
|
32
|
-
it "returns nil" do
|
33
|
-
Date.set("").should == nil
|
34
|
-
end
|
35
|
-
|
36
|
-
end
|
37
|
-
|
38
|
-
end
|
39
|
-
|
40
|
-
context "when time provided" do
|
41
|
-
|
42
|
-
it "returns the time" do
|
43
|
-
Date.set(@time).should == @time.utc
|
44
|
-
end
|
45
|
-
|
46
|
-
end
|
47
|
-
|
48
|
-
context "when a date provided" do
|
49
|
-
|
50
|
-
it "returns a time from the date" do
|
51
|
-
Date.set(@time.to_date).should == @time
|
52
|
-
end
|
53
|
-
|
54
|
-
end
|
55
|
-
|
56
|
-
end
|
57
|
-
|
58
|
-
describe "#get" do
|
59
|
-
|
60
|
-
context "when value is nil" do
|
61
|
-
|
62
|
-
it "returns nil" do
|
63
|
-
Date.get(nil).should be_nil
|
64
|
-
end
|
65
|
-
|
66
|
-
end
|
67
|
-
|
68
|
-
context "when value is not nil" do
|
69
|
-
|
70
|
-
context "when time is UTC" do
|
71
|
-
|
72
|
-
before do
|
73
|
-
@utc = Date.new(1974, 12, 1).to_time.utc
|
74
|
-
end
|
75
|
-
|
76
|
-
context "when time zone is not utc" do
|
77
|
-
|
78
|
-
before do
|
79
|
-
Time.zone = "Eastern Time (US & Canada)"
|
80
|
-
end
|
81
|
-
|
82
|
-
after do
|
83
|
-
Time.zone = "UTC"
|
84
|
-
end
|
85
|
-
|
86
|
-
it "converts to the proper date" do
|
87
|
-
Date.get(@utc).should == Date.new(1974, 12, 1)
|
88
|
-
end
|
89
|
-
|
90
|
-
end
|
91
|
-
|
92
|
-
end
|
93
|
-
|
94
|
-
it "converts the time back to a date" do
|
95
|
-
Date.get(@time).should == @time.to_date
|
96
|
-
end
|
97
|
-
|
98
|
-
end
|
99
|
-
|
100
|
-
end
|
101
|
-
|
102
|
-
end
|
@@ -1,67 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Mongoid::Extensions::DateTime::Conversions do
|
4
|
-
|
5
|
-
before do
|
6
|
-
Time.zone = "Eastern Time (US & Canada)"
|
7
|
-
@time = Time.local(1976, 11, 19)
|
8
|
-
end
|
9
|
-
|
10
|
-
after do
|
11
|
-
Time.zone = nil
|
12
|
-
end
|
13
|
-
|
14
|
-
describe "#set" do
|
15
|
-
|
16
|
-
before do
|
17
|
-
@date_time = DateTime.civil(2005, 11, 19).new_offset(1800)
|
18
|
-
end
|
19
|
-
|
20
|
-
context "when value is a string" do
|
21
|
-
|
22
|
-
it "converts to a utc time" do
|
23
|
-
DateTime.set(@date_time.to_s).utc_offset.should == 0
|
24
|
-
end
|
25
|
-
|
26
|
-
end
|
27
|
-
|
28
|
-
context "when value is a date_time" do
|
29
|
-
|
30
|
-
it "converts to a utc time" do
|
31
|
-
DateTime.set(@date_time).utc_offset.should == 0
|
32
|
-
end
|
33
|
-
|
34
|
-
end
|
35
|
-
|
36
|
-
context "when value is nil" do
|
37
|
-
|
38
|
-
it "returns nil" do
|
39
|
-
DateTime.set(nil).should be_nil
|
40
|
-
end
|
41
|
-
|
42
|
-
end
|
43
|
-
|
44
|
-
end
|
45
|
-
|
46
|
-
describe "#get" do
|
47
|
-
|
48
|
-
context "when time is provided" do
|
49
|
-
|
50
|
-
it "returns a DateTime" do
|
51
|
-
DateTime.get(@time.dup).should be_a_kind_of(DateTime)
|
52
|
-
end
|
53
|
-
|
54
|
-
it "returns the local date_time" do
|
55
|
-
DateTime.get(@time.dup).utc_offset.should == @time.utc_offset
|
56
|
-
end
|
57
|
-
|
58
|
-
end
|
59
|
-
|
60
|
-
context "when time is nil" do
|
61
|
-
|
62
|
-
it "returns nil" do
|
63
|
-
DateTime.get(nil).should be_nil
|
64
|
-
end
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|