mongodb 0.0.1 → 0.0.2
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/Rakefile +3 -5
- data/lib/mongodb/driver.rb +33 -0
- data/lib/mongodb/driver/collection.rb +156 -0
- data/lib/mongodb/driver/database.rb +6 -0
- data/lib/mongodb/driver/dynamic_finders.rb +41 -0
- data/lib/{mongo_db → mongodb}/driver/spec.rb +12 -12
- data/lib/mongodb/gems.rb +6 -0
- data/lib/mongodb/integration/locales.rb +4 -0
- data/lib/mongodb/integration/locales/activemodel/ru.yml +27 -0
- data/lib/mongodb/migration.rb +8 -0
- data/lib/mongodb/migration/definition.rb +19 -0
- data/lib/mongodb/migration/migration.rb +68 -0
- data/lib/mongodb/migration/tasks.rb +19 -0
- data/lib/mongodb/model.rb +26 -0
- data/lib/mongodb/model/assignment.rb +65 -0
- data/lib/mongodb/model/attribute_convertors.rb +54 -0
- data/lib/mongodb/model/callbacks.rb +36 -0
- data/lib/mongodb/model/crud.rb +57 -0
- data/lib/mongodb/model/db.rb +53 -0
- data/lib/mongodb/model/misc.rb +33 -0
- data/lib/mongodb/model/model.rb +11 -0
- data/lib/mongodb/model/query.rb +36 -0
- data/lib/mongodb/model/scope.rb +99 -0
- data/lib/mongodb/model/spec.rb +12 -0
- data/lib/mongodb/model/support/types.rb +110 -0
- data/lib/mongodb/model/validation.rb +5 -0
- data/lib/mongodb/object.rb +18 -0
- data/lib/mongodb/object/object_helper.rb +62 -0
- data/lib/mongodb/object/object_serializer.rb +273 -0
- data/readme.md +261 -6
- data/spec/driver/collection_spec.rb +83 -0
- data/spec/{mongo_model/hash → driver}/crud_spec.rb +30 -29
- data/spec/driver/database_spec.rb +9 -0
- data/spec/driver/dynamic_finders_spec.rb +50 -0
- data/spec/driver/fixes_spec.rb +12 -0
- data/spec/driver/hash_helper_spec.rb +24 -0
- data/spec/driver/spec_helper.rb +28 -0
- data/spec/integration/am_conversion_spec.rb +1 -0
- data/spec/integration/am_validation_spec.rb +34 -0
- data/spec/integration/validatable2_spec.rb +40 -0
- data/spec/migration/migration_spec.rb +60 -0
- data/spec/model/assignment_spec.rb +80 -0
- data/spec/model/attribute_convertors_spec.rb +73 -0
- data/spec/model/callbacks_spec.rb +47 -0
- data/spec/model/crud_spec.rb +151 -0
- data/spec/model/db_spec.rb +63 -0
- data/spec/model/misc_spec.rb +58 -0
- data/spec/model/query_spec.rb +47 -0
- data/spec/model/scope_spec.rb +149 -0
- data/spec/model/spec_helper.rb +4 -0
- data/spec/model/validation_spec.rb +37 -0
- data/spec/object/callbacks_spec.rb +97 -0
- data/spec/object/crud_shared.rb +53 -0
- data/spec/object/crud_spec.rb +55 -0
- data/spec/object/spec_helper.rb +14 -0
- data/spec/{mongo_model/object → object}/validation_spec.rb +38 -36
- metadata +92 -25
- data/lib/mongo_db.rb +0 -3
- data/lib/mongo_db/driver.rb +0 -5
- data/lib/mongo_db/driver/connection.rb +0 -0
- data/lib/mongo_db/driver/database.rb +0 -5
- data/lib/mongo_db/gems.rb +0 -2
- data/lib/mongo_db/model.rb +0 -0
- data/spec/mongo_ext/migration_spec.rb +0 -0
- data/spec/mongo_ext/misc_spec.rb +0 -10
- data/spec/mongo_ext/spec_helper.rb +0 -4
- data/spec/mongo_model/model/crud_spec.rb +0 -123
- data/spec/mongo_model/model/query_spec.rb +0 -0
- data/spec/mongo_model/object/callbacks_spec.rb +0 -100
- data/spec/mongo_model/object/crud_shared.rb +0 -53
- data/spec/mongo_model/object/crud_spec.rb +0 -45
- data/spec/mongo_model/spec_helper.rb +0 -1
- data/spec/query_spec.rb +0 -0
- data/spec/test_spec.rb +0 -5
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'model/spec_helper'
|
2
|
+
|
3
|
+
describe "Validations" do
|
4
|
+
with_mongo_model
|
5
|
+
|
6
|
+
before do
|
7
|
+
class Unit
|
8
|
+
inherit Mongo::Model
|
9
|
+
collection :units
|
10
|
+
|
11
|
+
attr_accessor :errors
|
12
|
+
|
13
|
+
attr_accessor :name
|
14
|
+
end
|
15
|
+
end
|
16
|
+
after{remove_constants :Unit}
|
17
|
+
|
18
|
+
it "should not save model with errors" do
|
19
|
+
unit = Unit.build name: 'Zeratul'
|
20
|
+
unit.save.should be_true
|
21
|
+
|
22
|
+
unit.errors = []
|
23
|
+
unit.save.should be_true
|
24
|
+
|
25
|
+
unit.errors = ['hairy error']
|
26
|
+
unit.save.should be_false
|
27
|
+
|
28
|
+
unit.errors = {name: 'hairy error'}
|
29
|
+
unit.save.should be_false
|
30
|
+
end
|
31
|
+
|
32
|
+
it "should check :errors only and ignore valid? method" do
|
33
|
+
unit = Unit.build name: 'Zeratul'
|
34
|
+
unit.should_not_receive(:valid?)
|
35
|
+
unit.save.should be_true
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,97 @@
|
|
1
|
+
require 'object/spec_helper'
|
2
|
+
|
3
|
+
describe 'Object callbacks' do
|
4
|
+
with_mongo
|
5
|
+
|
6
|
+
before :all do
|
7
|
+
class Player
|
8
|
+
include RSpec::CallbackHelper
|
9
|
+
attr_accessor :missions
|
10
|
+
|
11
|
+
class Mission
|
12
|
+
include RSpec::CallbackHelper
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
after(:all){remove_constants :Player}
|
17
|
+
|
18
|
+
before do
|
19
|
+
@mission = Player::Mission.new
|
20
|
+
@player = Player.new
|
21
|
+
@player.missions = [@mission]
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'create' do
|
25
|
+
%w(before_validate before_save before_create after_create after_save after_validate).each do |name|
|
26
|
+
@player.should_receive(name).once.ordered
|
27
|
+
@mission.should_receive(name).once.ordered
|
28
|
+
end
|
29
|
+
|
30
|
+
db.players.save @player
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'update' do
|
34
|
+
db.players.save(@player)
|
35
|
+
|
36
|
+
%w(before_validate before_save before_update after_update after_save after_validate).each do |name|
|
37
|
+
@player.should_receive(name).once.ordered
|
38
|
+
@mission.should_receive(name).once.ordered
|
39
|
+
end
|
40
|
+
db.players.save @player
|
41
|
+
end
|
42
|
+
|
43
|
+
it 'destroy' do
|
44
|
+
db.players.save @player
|
45
|
+
|
46
|
+
%w(before_validate before_destroy after_destroy after_validate).each do |name|
|
47
|
+
@player.should_receive(name).once.ordered
|
48
|
+
@mission.should_receive(name).once.ordered
|
49
|
+
end
|
50
|
+
db.players.destroy @player
|
51
|
+
end
|
52
|
+
|
53
|
+
it 'should be able skip callbacks' do
|
54
|
+
@player.should_not_receive(:_run_callbacks)
|
55
|
+
@mission.should_not_receive(:_run_callbacks)
|
56
|
+
|
57
|
+
db.players.save @player, callbacks: false
|
58
|
+
db.players.count.should == 1
|
59
|
+
db.players.save @player, callbacks: false
|
60
|
+
db.players.count.should == 1
|
61
|
+
db.players.destroy @player, callbacks: false
|
62
|
+
db.players.count.should == 0
|
63
|
+
end
|
64
|
+
|
65
|
+
it 'should be able interrupt CRUD' do
|
66
|
+
@mission.stub! :_run_callbacks do |type, method_name|
|
67
|
+
false if type == :before and method_name == :save
|
68
|
+
end
|
69
|
+
db.players.save(@player).should be_false
|
70
|
+
db.players.count.should == 0
|
71
|
+
end
|
72
|
+
|
73
|
+
describe "embedded" do
|
74
|
+
it 'should fire :destroy on detached objects' do
|
75
|
+
db.players.save @player
|
76
|
+
@player.missions.clear
|
77
|
+
@mission.should_receive(:before_destroy).once
|
78
|
+
db.players.destroy @player
|
79
|
+
end
|
80
|
+
|
81
|
+
it 'should fire :destroy on deleted objects in update' do
|
82
|
+
db.players.save @player
|
83
|
+
@player.missions.clear
|
84
|
+
@mission.should_receive(:before_destroy).once
|
85
|
+
db.players.save @player
|
86
|
+
end
|
87
|
+
|
88
|
+
it 'should fire :create on new objects in update' do
|
89
|
+
db.players.save @player
|
90
|
+
mission2 = Player::Mission.new
|
91
|
+
@player.missions << mission2
|
92
|
+
mission2.should_receive(:before_create).once
|
93
|
+
mission2.should_not_receive(:before_update)
|
94
|
+
db.players.save @player
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
shared_examples_for 'object CRUD' do
|
2
|
+
it 'crud' do
|
3
|
+
# read
|
4
|
+
db.units.count.should == 0
|
5
|
+
db.units.all.should == []
|
6
|
+
db.units.first.should == nil
|
7
|
+
|
8
|
+
# create
|
9
|
+
db.units.save(@zeratul).should be_true
|
10
|
+
@zeratul.instance_variable_get(:@_id).should_not be_nil
|
11
|
+
|
12
|
+
# read
|
13
|
+
db.units.count.should == 1
|
14
|
+
db.units.all.should == [@zeratul]
|
15
|
+
db.units.first.should == @zeratul
|
16
|
+
db.units.first.object_id.should_not == @zeratul.object_id
|
17
|
+
|
18
|
+
# update
|
19
|
+
@zeratul.info = 'Killer of Cerebrates'
|
20
|
+
db.units.save(@zeratul).should be_true
|
21
|
+
db.units.count.should == 1
|
22
|
+
db.units.first(name: 'Zeratul').info.should == 'Killer of Cerebrates'
|
23
|
+
|
24
|
+
# destroy
|
25
|
+
db.units.destroy(@zeratul).should be_true
|
26
|
+
db.units.count.should == 0
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
shared_examples_for 'embedded object CRUD' do
|
31
|
+
it 'crud' do
|
32
|
+
# create
|
33
|
+
db.players.save(@player)
|
34
|
+
@player.instance_variable_get(:@_id).should_not be_nil
|
35
|
+
|
36
|
+
# read
|
37
|
+
db.players.count.should == 1
|
38
|
+
db.players.first.should == @player
|
39
|
+
db.players.first.object_id.should_not == @players.object_id
|
40
|
+
|
41
|
+
# update
|
42
|
+
@player.missions.first.stats[:units] = 9
|
43
|
+
@player.missions << @mission_class.new('Desperate Alliance', {buildings: 11, units: 40})
|
44
|
+
db.players.save @player
|
45
|
+
db.players.count.should == 1
|
46
|
+
db.players.first.should == @player
|
47
|
+
db.players.first.object_id.should_not == @player.object_id
|
48
|
+
|
49
|
+
# destroy
|
50
|
+
db.players.destroy @player
|
51
|
+
db.players.count.should == 0
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
require 'object/spec_helper'
|
2
|
+
require 'object/crud_shared'
|
3
|
+
|
4
|
+
describe "Object CRUD" do
|
5
|
+
with_mongo
|
6
|
+
|
7
|
+
describe 'simple' do
|
8
|
+
before :all do
|
9
|
+
class Unit2
|
10
|
+
def initialize name = nil, info = nil; @name, @info = name, info end
|
11
|
+
attr_accessor :name, :info
|
12
|
+
def == o; [self.class, name, info] == [o.class, o.respond_to(:name), o.respond_to(:info)] end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
after(:all){remove_constants :Unit2}
|
16
|
+
|
17
|
+
before do
|
18
|
+
@zeratul = Unit2.new 'Zeratul', 'Dark Templar'
|
19
|
+
end
|
20
|
+
|
21
|
+
it_should_behave_like "object CRUD"
|
22
|
+
|
23
|
+
it "should allow to read object as hash" do
|
24
|
+
db.units.save! @zeratul
|
25
|
+
db.units.first({}, object: false).class.should == Hash
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
describe 'embedded' do
|
30
|
+
before :all do
|
31
|
+
class Player2
|
32
|
+
attr_accessor :missions
|
33
|
+
def == o; [self.class, self.missions] == [o.class, o.respond_to(:missions)] end
|
34
|
+
|
35
|
+
class Mission
|
36
|
+
def initialize name = nil, stats = nil; @name, @stats = name, stats end
|
37
|
+
attr_accessor :name, :stats
|
38
|
+
def == o; [self.class, self.name, self.stats] == [o.class, o.respond_to(:name), o.respond_to(:stats)] end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
after(:all){remove_constants :Player2}
|
43
|
+
|
44
|
+
before do
|
45
|
+
@mission_class = Player2::Mission
|
46
|
+
@player = Player2.new
|
47
|
+
@player.missions = [
|
48
|
+
Player2::Mission.new('Wasteland', {buildings: 5, units: 10}),
|
49
|
+
Player2::Mission.new('Backwater Station', {buildings: 8, units: 25}),
|
50
|
+
]
|
51
|
+
end
|
52
|
+
|
53
|
+
it_should_behave_like 'embedded object CRUD'
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'mongodb/object'
|
2
|
+
require 'driver/spec_helper'
|
3
|
+
|
4
|
+
# RSpec adds some instance variables and we need to skip it.
|
5
|
+
Mongo::ObjectSerializer.send :const_set, :SKIP_IV_REGEXP, /^@_|^@mock_proxy/
|
6
|
+
Mongo::ObjectSerializer::SIMPLE_TYPES << RSpec::Mocks::Proxy
|
7
|
+
|
8
|
+
# To simplify callback expectations
|
9
|
+
module RSpec::CallbackHelper
|
10
|
+
def _run_callbacks type, method_name
|
11
|
+
callback_method_name = :"#{type}_#{method_name}"
|
12
|
+
send callback_method_name if respond_to? callback_method_name
|
13
|
+
end
|
14
|
+
end
|
@@ -1,74 +1,76 @@
|
|
1
|
-
require 'spec_helper'
|
1
|
+
require 'object/spec_helper'
|
2
2
|
|
3
3
|
describe 'Object validation' do
|
4
|
-
|
5
|
-
|
6
|
-
before do
|
4
|
+
with_mongo
|
5
|
+
|
6
|
+
before :all do
|
7
7
|
class Player
|
8
8
|
attr_accessor :missions
|
9
|
-
|
9
|
+
|
10
10
|
class Mission
|
11
|
-
end
|
11
|
+
end
|
12
12
|
end
|
13
|
-
|
13
|
+
end
|
14
|
+
after(:all){remove_constants :Player}
|
15
|
+
|
16
|
+
before do
|
14
17
|
@mission = Player::Mission.new
|
15
18
|
@player = Player.new
|
16
19
|
@player.missions = [@mission]
|
17
20
|
end
|
18
|
-
after{remove_constants :Player}
|
19
21
|
|
20
22
|
it 'should not save/update/destroy invalid objects' do
|
21
23
|
# create
|
22
|
-
@player.stub!(:
|
24
|
+
@player.stub!(:_valid?).and_return(false)
|
23
25
|
db.players.save(@player).should be_false
|
24
|
-
|
25
|
-
@player.stub!(:
|
26
|
+
|
27
|
+
@player.stub!(:_valid?).and_return(true)
|
26
28
|
db.players.save(@player).should be_true
|
27
|
-
|
29
|
+
|
28
30
|
# update
|
29
|
-
@player.stub!(:
|
31
|
+
@player.stub!(:_valid?).and_return(false)
|
30
32
|
db.players.save(@player).should be_false
|
31
|
-
|
32
|
-
@player.stub!(:
|
33
|
+
|
34
|
+
@player.stub!(:_valid?).and_return(true)
|
33
35
|
db.players.save(@player).should be_true
|
34
|
-
|
36
|
+
|
35
37
|
# destroy
|
36
|
-
@player.stub!(:
|
38
|
+
@player.stub!(:_valid?).and_return(false)
|
37
39
|
db.players.destroy(@player).should be_false
|
38
|
-
|
39
|
-
@player.stub!(:
|
40
|
+
|
41
|
+
@player.stub!(:_valid?).and_return(true)
|
40
42
|
db.players.destroy(@player).should be_true
|
41
43
|
end
|
42
|
-
|
44
|
+
|
43
45
|
it 'should not save/update/destroy invalid embedded objects' do
|
44
46
|
# create
|
45
|
-
@mission.stub!(:
|
47
|
+
@mission.stub!(:_valid?).and_return(false)
|
46
48
|
db.players.save(@player).should be_false
|
47
|
-
|
48
|
-
@mission.stub!(:
|
49
|
+
|
50
|
+
@mission.stub!(:_valid?).and_return(true)
|
49
51
|
db.players.save(@player).should be_true
|
50
|
-
|
52
|
+
|
51
53
|
# update
|
52
|
-
@mission.stub!(:
|
54
|
+
@mission.stub!(:_valid?).and_return(false)
|
53
55
|
db.players.save(@player).should be_false
|
54
|
-
|
55
|
-
@mission.stub!(:
|
56
|
+
|
57
|
+
@mission.stub!(:_valid?).and_return(true)
|
56
58
|
db.players.save(@player).should be_true
|
57
|
-
|
59
|
+
|
58
60
|
# destroy
|
59
|
-
@mission.stub!(:
|
61
|
+
@mission.stub!(:_valid?).and_return(false)
|
60
62
|
db.players.destroy(@player).should be_false
|
61
|
-
|
62
|
-
@mission.stub!(:
|
63
|
+
|
64
|
+
@mission.stub!(:_valid?).and_return(true)
|
63
65
|
db.players.destroy(@player).should be_true
|
64
66
|
end
|
65
|
-
|
67
|
+
|
66
68
|
it "should be able skip validation" do
|
67
|
-
@player.stub!(:
|
69
|
+
@player.stub!(:_valid?).and_return(false)
|
68
70
|
db.players.save(@player, validate: false).should be_true
|
69
|
-
|
70
|
-
@player.stub!(:
|
71
|
-
@mission.stub!(:
|
71
|
+
|
72
|
+
@player.stub!(:_valid?).and_return(true)
|
73
|
+
@mission.stub!(:_valid?).and_return(false)
|
72
74
|
db.players.save(@player, validate: false).should be_true
|
73
75
|
end
|
74
76
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongodb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,8 +9,41 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-08-
|
13
|
-
dependencies:
|
12
|
+
date: 2011-08-28 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: mongo
|
16
|
+
requirement: &2783590 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '1.3'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *2783590
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: i18n
|
27
|
+
requirement: &2783300 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0.5'
|
33
|
+
type: :runtime
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *2783300
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: ruby_ext
|
38
|
+
requirement: &2783060 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
44
|
+
type: :runtime
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *2783060
|
14
47
|
description:
|
15
48
|
email:
|
16
49
|
executables: []
|
@@ -19,27 +52,61 @@ extra_rdoc_files: []
|
|
19
52
|
files:
|
20
53
|
- Rakefile
|
21
54
|
- readme.md
|
22
|
-
- lib/
|
23
|
-
- lib/
|
24
|
-
- lib/
|
25
|
-
- lib/
|
26
|
-
- lib/
|
27
|
-
- lib/
|
28
|
-
- lib/
|
29
|
-
-
|
30
|
-
-
|
31
|
-
-
|
32
|
-
-
|
33
|
-
-
|
34
|
-
-
|
35
|
-
-
|
36
|
-
-
|
37
|
-
-
|
38
|
-
-
|
39
|
-
-
|
40
|
-
-
|
41
|
-
-
|
42
|
-
|
55
|
+
- lib/mongodb/driver/collection.rb
|
56
|
+
- lib/mongodb/driver/database.rb
|
57
|
+
- lib/mongodb/driver/dynamic_finders.rb
|
58
|
+
- lib/mongodb/driver/spec.rb
|
59
|
+
- lib/mongodb/driver.rb
|
60
|
+
- lib/mongodb/gems.rb
|
61
|
+
- lib/mongodb/integration/locales/activemodel/ru.yml
|
62
|
+
- lib/mongodb/integration/locales.rb
|
63
|
+
- lib/mongodb/migration/definition.rb
|
64
|
+
- lib/mongodb/migration/migration.rb
|
65
|
+
- lib/mongodb/migration/tasks.rb
|
66
|
+
- lib/mongodb/migration.rb
|
67
|
+
- lib/mongodb/model/assignment.rb
|
68
|
+
- lib/mongodb/model/attribute_convertors.rb
|
69
|
+
- lib/mongodb/model/callbacks.rb
|
70
|
+
- lib/mongodb/model/crud.rb
|
71
|
+
- lib/mongodb/model/db.rb
|
72
|
+
- lib/mongodb/model/misc.rb
|
73
|
+
- lib/mongodb/model/model.rb
|
74
|
+
- lib/mongodb/model/query.rb
|
75
|
+
- lib/mongodb/model/scope.rb
|
76
|
+
- lib/mongodb/model/spec.rb
|
77
|
+
- lib/mongodb/model/support/types.rb
|
78
|
+
- lib/mongodb/model/validation.rb
|
79
|
+
- lib/mongodb/model.rb
|
80
|
+
- lib/mongodb/object/object_helper.rb
|
81
|
+
- lib/mongodb/object/object_serializer.rb
|
82
|
+
- lib/mongodb/object.rb
|
83
|
+
- spec/driver/collection_spec.rb
|
84
|
+
- spec/driver/crud_spec.rb
|
85
|
+
- spec/driver/database_spec.rb
|
86
|
+
- spec/driver/dynamic_finders_spec.rb
|
87
|
+
- spec/driver/fixes_spec.rb
|
88
|
+
- spec/driver/hash_helper_spec.rb
|
89
|
+
- spec/driver/spec_helper.rb
|
90
|
+
- spec/integration/am_conversion_spec.rb
|
91
|
+
- spec/integration/am_validation_spec.rb
|
92
|
+
- spec/integration/validatable2_spec.rb
|
93
|
+
- spec/migration/migration_spec.rb
|
94
|
+
- spec/model/assignment_spec.rb
|
95
|
+
- spec/model/attribute_convertors_spec.rb
|
96
|
+
- spec/model/callbacks_spec.rb
|
97
|
+
- spec/model/crud_spec.rb
|
98
|
+
- spec/model/db_spec.rb
|
99
|
+
- spec/model/misc_spec.rb
|
100
|
+
- spec/model/query_spec.rb
|
101
|
+
- spec/model/scope_spec.rb
|
102
|
+
- spec/model/spec_helper.rb
|
103
|
+
- spec/model/validation_spec.rb
|
104
|
+
- spec/object/callbacks_spec.rb
|
105
|
+
- spec/object/crud_shared.rb
|
106
|
+
- spec/object/crud_spec.rb
|
107
|
+
- spec/object/spec_helper.rb
|
108
|
+
- spec/object/validation_spec.rb
|
109
|
+
homepage: http://github.com/alexeypetrushin/mongodb
|
43
110
|
licenses: []
|
44
111
|
post_install_message:
|
45
112
|
rdoc_options: []
|
@@ -62,5 +129,5 @@ rubyforge_project:
|
|
62
129
|
rubygems_version: 1.8.6
|
63
130
|
signing_key:
|
64
131
|
specification_version: 3
|
65
|
-
summary:
|
132
|
+
summary: Object Model & Ruby driver enhancements for MongoDB
|
66
133
|
test_files: []
|