rails-ext 0.2.17 → 0.2.18
Sign up to get free protection for your applications and to get access to all the features.
- data/.git/index +0 -0
- data/.git/logs/HEAD +4 -0
- data/.git/logs/refs/heads/master +4 -0
- data/.git/logs/refs/remotes/origin/master +1 -0
- data/.git/objects/04/cd62e7f8158fe54d21e6f63617c43b593b8b59 +0 -0
- data/.git/objects/06/c2384aa5f8b5614038b48a726d1d4f98a00f3b +0 -0
- data/.git/objects/11/9db1e92a2d4c7ff2c6d9a58940aa25d8bd4bc3 +0 -0
- data/.git/objects/15/8eef048d128710bfc0cb60114f7405e45f9b6c +2 -0
- data/.git/objects/1b/d7d8887251e9bd43d88a5da5115ff4f1f5f10d +0 -0
- data/.git/objects/1c/14e28ef05892ccfe61da3dc28e16f87040fe43 +0 -0
- data/.git/objects/24/62bd996e6c1b78d669a9eb3303c74217260f4b +0 -0
- data/.git/objects/25/ad912bcedeb900c551388c8d4f062812848af2 +0 -0
- data/.git/objects/27/f8a63386b8acf5edba3ed9334644455045acd8 +0 -0
- data/.git/objects/3d/5b84167d35cb75647f38a6d475a452ba3c6178 +0 -0
- data/.git/objects/44/c96e2a778dcc62c10b3c329ab0211115a9f546 +0 -0
- data/.git/objects/46/3353505eed0c799d05f025788437decbabafec +0 -0
- data/.git/objects/47/afb623cc9949394fc403bc977671307c1a9eda +0 -0
- data/.git/objects/49/ca132451f70ee989ff7a7cf487b029fe706b28 +0 -0
- data/.git/objects/53/b8187421c09e55e44b8d6fb3c4cd7feb0a51b2 +0 -0
- data/.git/objects/65/e77ca17328dfeb3477287af40fb834284c8f61 +0 -0
- data/.git/objects/66/95d9ac4648cdadd9922d3b355a1d6f56547f4c +0 -0
- data/.git/objects/6b/779e60dfa44ba3daa26badf65b3422f30c7b9b +2 -0
- data/.git/objects/6c/e5f7ee8ecbaa20a264bb2f2fb2fd821b5ad478 +0 -0
- data/.git/objects/6f/72c276ac50a5731aa5f7e7e01dd2793113fe5b +0 -0
- data/.git/objects/74/4d46a654ae9e0867055184f2011668c7e1acd2 +0 -0
- data/.git/objects/75/c64796b5ffb6107b861cfa77fa28e8e43a1156 +1 -0
- data/.git/objects/82/0190b802ed213aab7a56a928a09db06e2a90a2 +0 -0
- data/.git/objects/86/23de615f686de621ca23cbbff6a07885101df9 +0 -0
- data/.git/objects/8a/d2c8f5ee0627cf48aa39d5f10578f929bfc2c5 +0 -0
- data/.git/objects/8f/5465ea782955ad019122d92a0f162945339f8e +0 -0
- data/.git/objects/94/afd196cc89d60f0a06d4cad619eaa79921a9ae +0 -0
- data/.git/objects/97/5b5b662b4c712668b3fe5dfe917000338e6b3e +0 -0
- data/.git/objects/99/a23df6dd9c448928b25f2e749871c6fc696a32 +0 -0
- data/.git/objects/9c/20b1616810e3d1d5951ea6251ff2d28322dc16 +0 -0
- data/.git/objects/9d/9f28ff50236f1e7f78cbd17b8aa25a0bf8b6fc +4 -0
- data/.git/objects/9f/91a2fdd59ecdfb4f8f5025fdbe590eb536e96f +0 -0
- data/.git/objects/a0/90ab2a9e739787b6090c187acf95fdd763afef +0 -0
- data/.git/objects/a2/d43a3a789e655cc306618d480193709d580c30 +2 -0
- data/.git/objects/a4/c75ead5dcfe97a67d302464584be205e8c48b1 +0 -0
- data/.git/objects/ad/66aac16165dd71456e4488069248d6f10ebb8f +0 -0
- data/.git/objects/b8/aaaf4949881600102a72a60f17fd58918dbd7b +0 -0
- data/.git/objects/b8/efcaff7f11cc584ac44303449d96592853c528 +2 -0
- data/.git/objects/b9/ecca04b12de69ffab2cc5d22cb52d5babef24f +2 -0
- data/.git/objects/be/29c116694d85d48cf177cf30816aa159189536 +0 -0
- data/.git/objects/df/f63029f32b25c2bf18d0f3f4e7907daa7c1bca +0 -0
- data/.git/objects/e9/46302310acac8a7a6b64a58b47062934765ede +0 -0
- data/.git/objects/f1/9154fc5093f2fd56f2660f386975b2a79be76f +0 -0
- data/.git/refs/heads/master +1 -1
- data/.git/refs/remotes/origin/master +1 -1
- data/Rakefile +1 -1
- data/lib/mongo_mapper_ext/db_config.rb +76 -0
- data/lib/mongo_mapper_ext/fixes.rb +9 -6
- data/lib/mongo_mapper_ext/migration.rb +33 -52
- data/lib/mongo_mapper_ext/mongo_mapper.rb +1 -150
- data/lib/mongo_mapper_ext/plugins/attributes_cache.rb +22 -0
- data/lib/mongo_mapper_ext/plugins/default_scope.rb +40 -0
- data/lib/mongo_mapper_ext/plugins/micelaneous.rb +17 -0
- data/lib/mongo_mapper_ext/spec_helper.rb +2 -6
- data/lib/mongo_mapper_ext/view_helpers.rb +2 -0
- data/lib/mongo_mapper_ext.rb +22 -2
- data/lib/rails_ext/config_files/safe_hash.rb +10 -2
- data/spec/mongo_mapper_ext/default_scope_spec.rb +62 -0
- data/spec/mongo_mapper_ext/mongo_mapper_migration_spec.rb +74 -0
- data/spec/{safe_hash_spec.rb → rails_ext/safe_hash_spec.rb} +2 -2
- metadata +53 -7
- data/lib/mongo_mapper_ext/multitenant.rb +0 -8
- data/lib/mongo_mapper_ext/object_id.rb +0 -12
- data/spec/mongo_mapper_migration_spec.rb +0 -137
data/lib/mongo_mapper_ext.rb
CHANGED
@@ -1,5 +1,25 @@
|
|
1
1
|
require 'mongo_mapper'
|
2
2
|
|
3
|
-
|
3
|
+
|
4
|
+
[
|
5
|
+
'fixes',
|
6
|
+
'migration',
|
7
|
+
'mongo_mapper',
|
8
|
+
'view_helpers',
|
9
|
+
'db_config',
|
10
|
+
|
11
|
+
'plugins/default_scope',
|
12
|
+
'plugins/attributes_cache',
|
13
|
+
'plugins/micelaneous',
|
14
|
+
].each do |file|
|
4
15
|
require "#{File.dirname __FILE__}/mongo_mapper_ext/#{file}"
|
5
|
-
end
|
16
|
+
end
|
17
|
+
|
18
|
+
module CommonPluginsAddition
|
19
|
+
def self.included(model)
|
20
|
+
model.plugin MongoMapper::Plugins::DefaultScope
|
21
|
+
model.plugin MongoMapper::Plugins::AttributesCache
|
22
|
+
model.plugin MongoMapper::Plugins::Micelaneous
|
23
|
+
end
|
24
|
+
end
|
25
|
+
MongoMapper::Document.append_inclusions(CommonPluginsAddition)
|
@@ -60,6 +60,10 @@ class SafeHash < BlankSlate
|
|
60
60
|
@hash.inspect
|
61
61
|
end
|
62
62
|
|
63
|
+
def to_h
|
64
|
+
@hash
|
65
|
+
end
|
66
|
+
|
63
67
|
class SafeNil < BlankSlate
|
64
68
|
include Singleton
|
65
69
|
|
@@ -86,11 +90,15 @@ class SafeHash < BlankSlate
|
|
86
90
|
end
|
87
91
|
|
88
92
|
def to_yaml *args
|
89
|
-
nil
|
93
|
+
nil.to_yaml *args
|
94
|
+
end
|
95
|
+
|
96
|
+
def to_h
|
97
|
+
{}
|
90
98
|
end
|
91
99
|
|
92
100
|
def inspect
|
93
|
-
nil
|
101
|
+
nil.inspect
|
94
102
|
end
|
95
103
|
end
|
96
104
|
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
require 'spec'
|
2
|
+
require 'ruby_ext'
|
3
|
+
require "#{File.dirname __FILE__}/../../lib/mongo_mapper_ext/plugins/default_scope"
|
4
|
+
require "mongo_mapper"
|
5
|
+
|
6
|
+
describe "MongoMapper Default Scope" do
|
7
|
+
before :all do
|
8
|
+
class ::DSBase
|
9
|
+
include MongoMapper::Document
|
10
|
+
plugin MongoMapper::Plugins::DefaultScope
|
11
|
+
|
12
|
+
key :name, String
|
13
|
+
end
|
14
|
+
|
15
|
+
class ::ObjectWithoutDefaultScope < DSBase
|
16
|
+
end
|
17
|
+
|
18
|
+
class ::ObjectWithDefaultScope < DSBase
|
19
|
+
default_scope :name => 'special'
|
20
|
+
end
|
21
|
+
|
22
|
+
class ::ObjectWithDynamicDefaultScope < DSBase
|
23
|
+
default_scope do
|
24
|
+
{:name => 'special'}
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
class ::DefaultScopeInheritance < ObjectWithDefaultScope
|
29
|
+
end
|
30
|
+
|
31
|
+
MongoMapper.database = 'test'
|
32
|
+
end
|
33
|
+
|
34
|
+
after :all do
|
35
|
+
%w{DSBase ObjectWithoutDefaultScope ObjectWithDefaultScope DefaultScopeInheritance ObjectWithDynamicDefaultScope}.each do |obj_name|
|
36
|
+
Object.send :remove_const, obj_name if Object.const_defined? obj_name
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
before :each do
|
41
|
+
DSBase.delete_all
|
42
|
+
DSBase.create! :name => 'general'
|
43
|
+
DSBase.create! :name => 'special'
|
44
|
+
end
|
45
|
+
|
46
|
+
it "should not affect objects without default_scope" do
|
47
|
+
ObjectWithoutDefaultScope.count.should == 2
|
48
|
+
ObjectWithoutDefaultScope.all.count.should == 2
|
49
|
+
end
|
50
|
+
|
51
|
+
it "static default scope" do
|
52
|
+
ObjectWithDefaultScope.count.should == 1
|
53
|
+
ObjectWithDefaultScope.all.count.should == 1
|
54
|
+
ObjectWithDefaultScope.first.name.should == 'special'
|
55
|
+
end
|
56
|
+
|
57
|
+
it "dynamic default scope" do
|
58
|
+
ObjectWithDynamicDefaultScope.count.should == 1
|
59
|
+
ObjectWithDynamicDefaultScope.all.count.should == 1
|
60
|
+
ObjectWithDynamicDefaultScope.first.name.should == 'special'
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
require 'spec'
|
2
|
+
require 'ruby_ext'
|
3
|
+
require "#{File.dirname __FILE__}/../../lib/mongo_mapper_ext"
|
4
|
+
require "#{File.dirname __FILE__}/../../lib/mongo_mapper_ext/spec_helper"
|
5
|
+
|
6
|
+
|
7
|
+
describe "MongoMapper Migration" do
|
8
|
+
Migration = MongoMapper::Migration
|
9
|
+
|
10
|
+
before :all do
|
11
|
+
MongoMapper.db_config = {
|
12
|
+
'global' => {'name' => 'global_test'},
|
13
|
+
'accounts' => {'name' => "accounts_test"}
|
14
|
+
}
|
15
|
+
|
16
|
+
class ::Sample
|
17
|
+
include MongoMapper::Document
|
18
|
+
use_database :global
|
19
|
+
|
20
|
+
key :name, String
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
after :all do
|
25
|
+
Object.send :remove_const, :Sample if Object.const_defined? :Sample
|
26
|
+
end
|
27
|
+
|
28
|
+
before :each do
|
29
|
+
Migration.definitions.clear
|
30
|
+
end
|
31
|
+
|
32
|
+
it "Shouldn't update if versions are the same" do
|
33
|
+
Migration.update(:global, 0).should be_false
|
34
|
+
end
|
35
|
+
|
36
|
+
it "migration should provide access to current database" do
|
37
|
+
Sample.count.should == 0
|
38
|
+
Migration.define :global, 1 do |m|
|
39
|
+
m.up do |db|
|
40
|
+
Sample.create :name => 'name'
|
41
|
+
coll = db.collection 'samples'
|
42
|
+
coll.find.count.should == 1
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
Migration.update(:global, 1).should be_true
|
47
|
+
Sample.count.should == 1
|
48
|
+
end
|
49
|
+
|
50
|
+
it "increase_db_version" do
|
51
|
+
Sample.count.should == 0
|
52
|
+
Migration.define :global, 1 do |m|
|
53
|
+
m.up{Sample.create :name => 'name'}
|
54
|
+
end
|
55
|
+
|
56
|
+
Migration.update(:global, 1).should be_true
|
57
|
+
Sample.count.should == 1
|
58
|
+
Migration.metadata(MongoMapper.databases[:global]).should == 1
|
59
|
+
end
|
60
|
+
|
61
|
+
it "decrease_db_version" do
|
62
|
+
Migration.define :global, 1 do |m|
|
63
|
+
m.up{Sample.create :name => 'name'}
|
64
|
+
m.down{Sample.destroy_all}
|
65
|
+
end
|
66
|
+
Migration.update(:global, 1).should be_true
|
67
|
+
Sample.count.should == 1
|
68
|
+
|
69
|
+
Migration.update(:global, 0).should be_true
|
70
|
+
Sample.count.should == 0
|
71
|
+
Migration.metadata(MongoMapper.databases[:global]).should == 0
|
72
|
+
end
|
73
|
+
|
74
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'spec'
|
2
2
|
|
3
3
|
require 'active_support'
|
4
|
-
require "#{File.dirname __FILE__}
|
4
|
+
require "#{File.dirname __FILE__}/../../lib/rails_ext/config_files/safe_hash"
|
5
5
|
|
6
6
|
describe "SafeHash and SafeNil" do
|
7
7
|
it "should allow check for value presence" do
|
@@ -19,7 +19,7 @@ describe "SafeHash and SafeNil" do
|
|
19
19
|
h.b!.should == :c
|
20
20
|
end
|
21
21
|
|
22
|
-
it "general
|
22
|
+
it "general behaviour" do
|
23
23
|
h = SafeHash.new :key => :value
|
24
24
|
|
25
25
|
h.key.should == :value
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 2
|
8
|
-
-
|
9
|
-
version: 0.2.
|
8
|
+
- 18
|
9
|
+
version: 0.2.18
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Alexey Petrushin
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-03-
|
17
|
+
date: 2010-03-16 00:00:00 +03:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -64,6 +64,8 @@ files:
|
|
64
64
|
- .git/objects/00/cc0fab85c28c827b7489c092c7fdfacaab2c15
|
65
65
|
- .git/objects/00/fd8045e0953bb11a521248dc27d4af2336c6d5
|
66
66
|
- .git/objects/02/469b717b4bd61ad27a3fe664ce0646a8325399
|
67
|
+
- .git/objects/04/cd62e7f8158fe54d21e6f63617c43b593b8b59
|
68
|
+
- .git/objects/06/c2384aa5f8b5614038b48a726d1d4f98a00f3b
|
67
69
|
- .git/objects/06/c3225bad9d5b80e7b3bde79ff3c2da591722bf
|
68
70
|
- .git/objects/07/9ef6b10f536af792f4cf5d131857baa28751e7
|
69
71
|
- .git/objects/07/f7d26527e58caa2fa99e33b29a7791b9eb8b3e
|
@@ -78,17 +80,21 @@ files:
|
|
78
80
|
- .git/objects/0f/d3ac42b07c2d3102263bd939704f5633db304e
|
79
81
|
- .git/objects/10/1f52d83027dfe5798f87aec1118f02d19e5cf8
|
80
82
|
- .git/objects/10/bfe1230b9d96e23600091cc8b4b9d378068101
|
83
|
+
- .git/objects/11/9db1e92a2d4c7ff2c6d9a58940aa25d8bd4bc3
|
81
84
|
- .git/objects/13/882df4f2ef911454bf3b69a85742b372723366
|
82
85
|
- .git/objects/13/d5e53963c37e20ff517035b00f6b404c0e8056
|
83
86
|
- .git/objects/15/351f2f81548a7a0d9c4a6690894a42262fb7f5
|
84
87
|
- .git/objects/15/3f845625a0f605a2a35487a32038d0349bc386
|
85
88
|
- .git/objects/15/6d9fb4d4fd605969b37fea59e57eb486d8d06f
|
89
|
+
- .git/objects/15/8eef048d128710bfc0cb60114f7405e45f9b6c
|
86
90
|
- .git/objects/18/17673317d63a90369c9f7abdc6f0113f42050f
|
87
91
|
- .git/objects/18/71ebea5ace362756ec45cff59a336df5d50725
|
88
92
|
- .git/objects/18/77033b90ed3dd55a3034b7e3ca1c5c9f66868d
|
89
93
|
- .git/objects/18/adbbbcd043a3ef3e19854df8476b02d69544d0
|
90
94
|
- .git/objects/19/1f68644a3646d774f2546c4cd49ac7d66f4cc2
|
91
95
|
- .git/objects/1b/83175202b0bdd9e8aac50c186533c1730aa220
|
96
|
+
- .git/objects/1b/d7d8887251e9bd43d88a5da5115ff4f1f5f10d
|
97
|
+
- .git/objects/1c/14e28ef05892ccfe61da3dc28e16f87040fe43
|
92
98
|
- .git/objects/1c/65c12ac1816d1b56c7c3892acc61512696c673
|
93
99
|
- .git/objects/1c/7fd48742e76d2cd6605e1a569e65e79ddd8f92
|
94
100
|
- .git/objects/1d/d49713de2942dc974e55adc3684f55b2b817e2
|
@@ -96,6 +102,9 @@ files:
|
|
96
102
|
- .git/objects/1f/1be5b8e4dce8787367b3a607b0695ca70d4e82
|
97
103
|
- .git/objects/21/e143c036491275aaa7d6e45ed4683f5defdae2
|
98
104
|
- .git/objects/23/926daa53cee50268bd329a8b4cbd853cb3a45b
|
105
|
+
- .git/objects/24/62bd996e6c1b78d669a9eb3303c74217260f4b
|
106
|
+
- .git/objects/25/ad912bcedeb900c551388c8d4f062812848af2
|
107
|
+
- .git/objects/27/f8a63386b8acf5edba3ed9334644455045acd8
|
99
108
|
- .git/objects/28/8e20f19c6662b1425e0a0797ae443f7eddcc4a
|
100
109
|
- .git/objects/28/c44da9255a78bf7105a1c251e4e1cd643b8f44
|
101
110
|
- .git/objects/29/7a2c413b11f78b69dd8caa4f334c9536088f8a
|
@@ -117,6 +126,7 @@ files:
|
|
117
126
|
- .git/objects/3a/03b9d44de43472689300120ffb2a0a9a74f27f
|
118
127
|
- .git/objects/3a/797683953be7e6d0ffa0e34514f3e8e9c3ceb0
|
119
128
|
- .git/objects/3a/ff2a7bfdf3a677812899ede62d084369c7c5f4
|
129
|
+
- .git/objects/3d/5b84167d35cb75647f38a6d475a452ba3c6178
|
120
130
|
- .git/objects/3e/c0da65fe2e572ad31203f9412baa09dfdf49d3
|
121
131
|
- .git/objects/3e/f23cf310c5eebac930a19d36a0561dd362d3ee
|
122
132
|
- .git/objects/3f/3db6bb5a5204ae58e303959c4c0da3a70d8b35
|
@@ -124,10 +134,14 @@ files:
|
|
124
134
|
- .git/objects/40/215c0554202fc46dc2fca94ed21e2920ce1e84
|
125
135
|
- .git/objects/40/7adfb7f6188b0bb0b88cf9391943e1aaa32374
|
126
136
|
- .git/objects/40/b5d1a81a061ce0e2f315b7e741ec70e0defe1d
|
137
|
+
- .git/objects/44/c96e2a778dcc62c10b3c329ab0211115a9f546
|
138
|
+
- .git/objects/46/3353505eed0c799d05f025788437decbabafec
|
127
139
|
- .git/objects/46/d12e0420cd6341a2720730cc45703fc835efb6
|
128
140
|
- .git/objects/47/28fde4426b545c73552bd5e0f79296a2b4be19
|
141
|
+
- .git/objects/47/afb623cc9949394fc403bc977671307c1a9eda
|
129
142
|
- .git/objects/48/0602886685e84f2a257eb8e95acfc8af1166b6
|
130
143
|
- .git/objects/49/66cd792ea3e03d5091aa7a332f2a082e479a76
|
144
|
+
- .git/objects/49/ca132451f70ee989ff7a7cf487b029fe706b28
|
131
145
|
- .git/objects/4a/80705702f499ef1278630257a33c6088238ba3
|
132
146
|
- .git/objects/4a/be35eba6ed159578e3f43f6ffa8ea7541598e2
|
133
147
|
- .git/objects/4b/2bdb2dc6330ba9bafd9058ec8eaa925ef53f91
|
@@ -141,6 +155,7 @@ files:
|
|
141
155
|
- .git/objects/52/5fcb274029ec36780b264166ea3d487d968997
|
142
156
|
- .git/objects/53/2ff954f947901011d76dcc1e335c2d52e5706c
|
143
157
|
- .git/objects/53/8aca7c60ef3cdfde25d4698e8e133ce18e512e
|
158
|
+
- .git/objects/53/b8187421c09e55e44b8d6fb3c4cd7feb0a51b2
|
144
159
|
- .git/objects/55/6c13b26b6cecd286427a7f16c60c86c7df7885
|
145
160
|
- .git/objects/55/d1f1efc344266d472094b1fd2f247b97de1c8b
|
146
161
|
- .git/objects/56/d4d25c979129176da0f447726f3eecf611973b
|
@@ -159,7 +174,9 @@ files:
|
|
159
174
|
- .git/objects/63/e3ecfd9b00f7111c9d9bb8e734e0c04ab44583
|
160
175
|
- .git/objects/64/96d7c4cc0c824e706bf757f9ec63b5553c9caf
|
161
176
|
- .git/objects/65/51094fa3b996ff25b88d7ddb21d21a811d53fc
|
177
|
+
- .git/objects/65/e77ca17328dfeb3477287af40fb834284c8f61
|
162
178
|
- .git/objects/66/37f98202acb1895cb347d7c5fb5c414dd9e6db
|
179
|
+
- .git/objects/66/95d9ac4648cdadd9922d3b355a1d6f56547f4c
|
163
180
|
- .git/objects/67/2396778b142df8b0b7ab212b7564039c48cf39
|
164
181
|
- .git/objects/67/850cf1ede94d80c9b07ceace074a4d62f15249
|
165
182
|
- .git/objects/68/8ce506ac4f7c160bd6880d8507820761a3b3b7
|
@@ -168,14 +185,19 @@ files:
|
|
168
185
|
- .git/objects/69/ad159f329112a498fcc47c4943f4d9b59af1cc
|
169
186
|
- .git/objects/6a/90d6784ac3b6580ef470dac68c2d93c276d6a7
|
170
187
|
- .git/objects/6a/cdfb69624140a67634b65ab8230cc5e0ffd543
|
188
|
+
- .git/objects/6b/779e60dfa44ba3daa26badf65b3422f30c7b9b
|
189
|
+
- .git/objects/6c/e5f7ee8ecbaa20a264bb2f2fb2fd821b5ad478
|
171
190
|
- .git/objects/6d/6bfb690cccf36d947eaafd79a19b0974afb65a
|
172
191
|
- .git/objects/6d/85efe0589aa745a632d38314b7b5902a8874c0
|
173
192
|
- .git/objects/6d/f725e3519872a75bc763045f00d8844eb890cf
|
174
193
|
- .git/objects/6e/a04c6c0a52b9c7da1de6364b530553dfd78c4a
|
194
|
+
- .git/objects/6f/72c276ac50a5731aa5f7e7e01dd2793113fe5b
|
175
195
|
- .git/objects/71/e6b43e9d41f9903992fd86d483b7d3e4dd28cd
|
176
196
|
- .git/objects/73/667b7ae341d478513ba0bd6ec8af0aa1f62f0d
|
197
|
+
- .git/objects/74/4d46a654ae9e0867055184f2011668c7e1acd2
|
177
198
|
- .git/objects/74/ce4a58ebf96006e1e9be0980b99ac3b5b820c7
|
178
199
|
- .git/objects/74/d8411c7276b4e1c1f614606af7f69ab4526d30
|
200
|
+
- .git/objects/75/c64796b5ffb6107b861cfa77fa28e8e43a1156
|
179
201
|
- .git/objects/75/d0b250bcdf241d981313b1d6eb153b96e4b05f
|
180
202
|
- .git/objects/76/d3cd0f31cfb174c2411be5636a8257e7af613a
|
181
203
|
- .git/objects/77/6e03ab9139aab1e0e8d551a75c3c0145fd9322
|
@@ -188,36 +210,49 @@ files:
|
|
188
210
|
- .git/objects/7e/ca6f113845c2dcdf536daa084349445d608879
|
189
211
|
- .git/objects/81/156e1461b12b90f0dc2604458317ca8f5d45c0
|
190
212
|
- .git/objects/81/d4aa3b627dfc7397ce3f71577a8307324b8289
|
213
|
+
- .git/objects/82/0190b802ed213aab7a56a928a09db06e2a90a2
|
191
214
|
- .git/objects/82/03c2c6cdd29e1e20e88fbb81e63b7ea1ec2899
|
192
215
|
- .git/objects/83/6f33959bcf517b9952aefb3fdfdd7ff3c1f207
|
193
216
|
- .git/objects/85/eee9f4c1a6f710ed87bf28a0531275777f8848
|
194
217
|
- .git/objects/85/fd531f7352ad8f5ac030eed2204a662dd10a66
|
218
|
+
- .git/objects/86/23de615f686de621ca23cbbff6a07885101df9
|
195
219
|
- .git/objects/86/b31b604469e9b261f4e5b927932504bca8c402
|
196
220
|
- .git/objects/87/fc827fd223cac6b4e55d823a9ea86bb0726a3b
|
197
221
|
- .git/objects/88/b888ea16fb14478c659390ce54e980b86198ef
|
198
222
|
- .git/objects/89/2697494eb70fdccaf26bf547bb8d7428c0e5ff
|
223
|
+
- .git/objects/8a/d2c8f5ee0627cf48aa39d5f10578f929bfc2c5
|
199
224
|
- .git/objects/8b/7fd3b87e0f2fce82705c50e7c48f9496b7666e
|
200
225
|
- .git/objects/8c/4648d7c914e9d60dc387ff801c97b2d19c97f7
|
201
226
|
- .git/objects/8d/4dcde8df4da8f53f5f5313757b907e9aa1af66
|
202
227
|
- .git/objects/8e/3cfb391de711b5fecfbdf2860fa37b019e8036
|
203
228
|
- .git/objects/8e/69b6cf3ec8b49270091b4a206ccf326679dc20
|
204
229
|
- .git/objects/8e/a47de58a27dd343b3ecd3dd5e0fab88e268a72
|
230
|
+
- .git/objects/8f/5465ea782955ad019122d92a0f162945339f8e
|
205
231
|
- .git/objects/90/ca84ea326afab5fcc92a50469c2052ebc46f11
|
206
232
|
- .git/objects/92/e1c250edfca72ed0932934257ef3cfc7122ec5
|
207
233
|
- .git/objects/92/e1f3936e7c33007d0a466b836804450992a1eb
|
208
234
|
- .git/objects/93/f9a6b596879347290cde161b03052bb22021de
|
209
235
|
- .git/objects/94/72f3ac9e890231482aadd774bdc1c9ba742497
|
236
|
+
- .git/objects/94/afd196cc89d60f0a06d4cad619eaa79921a9ae
|
210
237
|
- .git/objects/96/48a1590ab953b7ec3bc9d06e460c0004962b77
|
238
|
+
- .git/objects/97/5b5b662b4c712668b3fe5dfe917000338e6b3e
|
211
239
|
- .git/objects/98/6915a151ae2adb8f8e81e11038f7a1ca731bbc
|
240
|
+
- .git/objects/99/a23df6dd9c448928b25f2e749871c6fc696a32
|
212
241
|
- .git/objects/9b/a1a0e6e5050444fc8743a18341ae219c54aa9b
|
242
|
+
- .git/objects/9c/20b1616810e3d1d5951ea6251ff2d28322dc16
|
243
|
+
- .git/objects/9d/9f28ff50236f1e7f78cbd17b8aa25a0bf8b6fc
|
213
244
|
- .git/objects/9e/a42bcef6b76af65d741384e13c24b8072637d1
|
214
245
|
- .git/objects/9f/0f3e54458d429dd2a1c04e4671398cfa37d595
|
246
|
+
- .git/objects/9f/91a2fdd59ecdfb4f8f5025fdbe590eb536e96f
|
247
|
+
- .git/objects/a0/90ab2a9e739787b6090c187acf95fdd763afef
|
215
248
|
- .git/objects/a0/d595c78f280787659a2a4400f5d63578b53dce
|
216
249
|
- .git/objects/a1/7da5fcb263b86753b0dddb8f34472e61d25fa1
|
250
|
+
- .git/objects/a2/d43a3a789e655cc306618d480193709d580c30
|
217
251
|
- .git/objects/a3/4e4e8572d323de26965619321576f903fa7935
|
218
252
|
- .git/objects/a3/5c311b625d863b50d51e2385259d487e277c90
|
219
253
|
- .git/objects/a3/6956ff51b72b69d1ac2c1ad0d78bb9ad1ade75
|
220
254
|
- .git/objects/a3/84715546f6a11dc7d56a32784dbdd5d7d92e8e
|
255
|
+
- .git/objects/a4/c75ead5dcfe97a67d302464584be205e8c48b1
|
221
256
|
- .git/objects/a5/4db1bec30f7dc8981c4d5ccf9c9a90c1e13662
|
222
257
|
- .git/objects/a5/9472e8ecb5d06647adeec11ae931b956508191
|
223
258
|
- .git/objects/a6/438da91846df9ac940b59f6d11d5019a5580be
|
@@ -228,6 +263,7 @@ files:
|
|
228
263
|
- .git/objects/ab/825cde00e626431c6045e6886d470327c63001
|
229
264
|
- .git/objects/ac/92bcf6c74d23824c3c7ce341f667507592c7f9
|
230
265
|
- .git/objects/ac/a1ad63cec98e0b3dae23fbe088f5a5d2125a7a
|
266
|
+
- .git/objects/ad/66aac16165dd71456e4488069248d6f10ebb8f
|
231
267
|
- .git/objects/ae/536c345aad67cee8ce167dc91006263e63885f
|
232
268
|
- .git/objects/b0/2c48116db702256abf27fab4236c84bd2d2dbc
|
233
269
|
- .git/objects/b0/39fcd38009980eb74d6bcef22d11e02639a530
|
@@ -242,11 +278,15 @@ files:
|
|
242
278
|
- .git/objects/b5/33c1c1bca9eae5b7e75c639fff8ec2c2f9fea1
|
243
279
|
- .git/objects/b5/edd343ceb8e87d1a73922612aec210b393f839
|
244
280
|
- .git/objects/b7/88e3ac322b164a2a223f80f8a6da0836d9d1dd
|
281
|
+
- .git/objects/b8/aaaf4949881600102a72a60f17fd58918dbd7b
|
282
|
+
- .git/objects/b8/efcaff7f11cc584ac44303449d96592853c528
|
283
|
+
- .git/objects/b9/ecca04b12de69ffab2cc5d22cb52d5babef24f
|
245
284
|
- .git/objects/ba/67eef0f58a44e4b39af605d45e1e958023588d
|
246
285
|
- .git/objects/bb/05a580a8afe6e3078b8e6ec4cda41fdc266f5d
|
247
286
|
- .git/objects/bb/23236d2e8340087cc495c66310e6eb90d6fe0a
|
248
287
|
- .git/objects/bc/90a06dd2f2257e8da49989738db5747e2b78d8
|
249
288
|
- .git/objects/bd/eab0ec8a914cdd8c9341340191c116a4bf2d3e
|
289
|
+
- .git/objects/be/29c116694d85d48cf177cf30816aa159189536
|
250
290
|
- .git/objects/c0/22e88f31b91cecfc45b1bae611c27f5b12ca15
|
251
291
|
- .git/objects/c0/724bc45e241d336d6376f14d9b258c2e4744d4
|
252
292
|
- .git/objects/c1/3cf3c2ea85ec40544fe31702b2cfe6091aed6e
|
@@ -284,6 +324,7 @@ files:
|
|
284
324
|
- .git/objects/de/10bee1e91cfbd53ccaa073aada68cbfeac22d8
|
285
325
|
- .git/objects/de/513632cf9d7755d57fa2cde261bc6822335d40
|
286
326
|
- .git/objects/de/57906fbec41c830adf724743fd20dba762acab
|
327
|
+
- .git/objects/df/f63029f32b25c2bf18d0f3f4e7907daa7c1bca
|
287
328
|
- .git/objects/e0/444cc3908c5096319636ca42c403a78deda3f9
|
288
329
|
- .git/objects/e0/d8e7ab5a565d95d44f2a9a6246be6003a3de7b
|
289
330
|
- .git/objects/e2/bc2615d3aa154bba2897c562a15ed19136d518
|
@@ -302,12 +343,14 @@ files:
|
|
302
343
|
- .git/objects/e8/8c08dea8850c34f14a6cb67660174d186f9e0a
|
303
344
|
- .git/objects/e8/901c48443ed6999a3c1b86c435562d2ee54caf
|
304
345
|
- .git/objects/e8/e3794adaa5886984bd0c0ff90980353de03c9b
|
346
|
+
- .git/objects/e9/46302310acac8a7a6b64a58b47062934765ede
|
305
347
|
- .git/objects/ea/50407bf8daef694d22268540dd55eb3a739bad
|
306
348
|
- .git/objects/eb/950b1535bf0671019ba323386deea2598ce246
|
307
349
|
- .git/objects/eb/9701e2dbe8fb606315f9514d789188160bdd67
|
308
350
|
- .git/objects/ed/c690a7821df2da3c0ddeee24b87187b3a99d91
|
309
351
|
- .git/objects/ee/ccaf0d272346a1dcc672a4131ba692a0027049
|
310
352
|
- .git/objects/f0/af2f0e63f924f45e55af90e691f3588552ffc9
|
353
|
+
- .git/objects/f1/9154fc5093f2fd56f2660f386975b2a79be76f
|
311
354
|
- .git/objects/f2/196f15b2d432b2a2d641aed4ae5afe7190edb9
|
312
355
|
- .git/objects/f2/efda050bcf5d33d3f8e8fb2848b0be926c1731
|
313
356
|
- .git/objects/f3/3573a82a9e7dbf9bc7f5b3feded4c223701d1f
|
@@ -340,11 +383,13 @@ files:
|
|
340
383
|
- lib/asset_packager/asset_packager.rb
|
341
384
|
- lib/asset_packager/jsmin.rb
|
342
385
|
- lib/asset_packager/tasks.rb
|
386
|
+
- lib/mongo_mapper_ext/db_config.rb
|
343
387
|
- lib/mongo_mapper_ext/fixes.rb
|
344
388
|
- lib/mongo_mapper_ext/migration.rb
|
345
389
|
- lib/mongo_mapper_ext/mongo_mapper.rb
|
346
|
-
- lib/mongo_mapper_ext/
|
347
|
-
- lib/mongo_mapper_ext/
|
390
|
+
- lib/mongo_mapper_ext/plugins/attributes_cache.rb
|
391
|
+
- lib/mongo_mapper_ext/plugins/default_scope.rb
|
392
|
+
- lib/mongo_mapper_ext/plugins/micelaneous.rb
|
348
393
|
- lib/mongo_mapper_ext/spec_helper.rb
|
349
394
|
- lib/mongo_mapper_ext/view_helpers.rb
|
350
395
|
- lib/mongo_mapper_ext.rb
|
@@ -380,8 +425,9 @@ files:
|
|
380
425
|
- lib/rails_ext/reload_page.rb
|
381
426
|
- lib/rails_ext/user_error.rb
|
382
427
|
- lib/rails_ext.rb
|
383
|
-
- spec/
|
384
|
-
- spec/
|
428
|
+
- spec/mongo_mapper_ext/default_scope_spec.rb
|
429
|
+
- spec/mongo_mapper_ext/mongo_mapper_migration_spec.rb
|
430
|
+
- spec/rails_ext/safe_hash_spec.rb
|
385
431
|
- spec/spec.opts
|
386
432
|
- public/rails_ext/rails_ext.css
|
387
433
|
- public/rails_ext/rails_ext.js
|
@@ -1,8 +0,0 @@
|
|
1
|
-
[MongoMapper::EmbeddedDocument::ClassMethods, MongoMapper::Document::ClassMethods].each do |aclass|
|
2
|
-
aclass.class_eval do
|
3
|
-
def connect_to_global_database!
|
4
|
-
self.connection MongoMapper.global_connection
|
5
|
-
self.set_database_name MongoMapper.config.global_database.name
|
6
|
-
end
|
7
|
-
end
|
8
|
-
end
|
@@ -1,137 +0,0 @@
|
|
1
|
-
require 'spec'
|
2
|
-
require 'ruby_ext'
|
3
|
-
require "#{File.dirname __FILE__}/../lib/mongo_mapper_ext"
|
4
|
-
|
5
|
-
MongoMapper.custom_config = {
|
6
|
-
:global_database => {
|
7
|
-
:name => 'global_development_test'
|
8
|
-
}.to_openobject,
|
9
|
-
:accounts_database => {
|
10
|
-
:name => "accounts_#{MongoMapper::ACCOUNT_TOKEN}_test"
|
11
|
-
}.to_openobject
|
12
|
-
}.to_openobject
|
13
|
-
require "#{File.dirname __FILE__}/../lib/mongo_mapper_ext/spec_helper"
|
14
|
-
|
15
|
-
|
16
|
-
describe "MongoMapper Migration" do
|
17
|
-
Migration = MongoMapper::Migration
|
18
|
-
|
19
|
-
before :each do
|
20
|
-
Migration.send :reset
|
21
|
-
end
|
22
|
-
|
23
|
-
describe "Global Database" do
|
24
|
-
before :all do
|
25
|
-
class GlobalSample
|
26
|
-
include MongoMapper::Document
|
27
|
-
connect_to_global_database!
|
28
|
-
|
29
|
-
key :name, String
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
after :all do
|
34
|
-
Object.send :remove_const, :GlobalSample if defined?(GlobalSample)
|
35
|
-
end
|
36
|
-
|
37
|
-
it "Shouldn't update if versions are the same" do
|
38
|
-
Migration.update_global_database_to(0).should be_false
|
39
|
-
end
|
40
|
-
|
41
|
-
it "increase_db_version" do
|
42
|
-
GlobalSample.count.should == 0
|
43
|
-
Migration.define_global_migration 1 do |m|
|
44
|
-
m.up{GlobalSample.create :name => 'name'}
|
45
|
-
end
|
46
|
-
|
47
|
-
Migration.update_global_database_to(1).should be_true
|
48
|
-
GlobalSample.count.should == 1
|
49
|
-
Migration.metadata(MongoMapper.global_database).should == 1
|
50
|
-
end
|
51
|
-
|
52
|
-
it "decrease_db_version" do
|
53
|
-
Migration.define_global_migration 1 do |m|
|
54
|
-
m.up{GlobalSample.create :name => 'name'}
|
55
|
-
m.down{GlobalSample.destroy_all}
|
56
|
-
end
|
57
|
-
Migration.update_global_database_to(1).should be_true
|
58
|
-
GlobalSample.count.should == 1
|
59
|
-
|
60
|
-
Migration.update_global_database_to(0).should be_true
|
61
|
-
GlobalSample.count.should == 0
|
62
|
-
Migration.metadata(MongoMapper.global_database).should == 0
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
describe "Acccounts Database" do
|
67
|
-
before :all do
|
68
|
-
class Sample
|
69
|
-
include MongoMapper::Document
|
70
|
-
|
71
|
-
key :name, String
|
72
|
-
end
|
73
|
-
end
|
74
|
-
|
75
|
-
after :all do
|
76
|
-
Object.send :remove_const, :Sample if defined?(Sample)
|
77
|
-
end
|
78
|
-
|
79
|
-
before :each do
|
80
|
-
@account_db_name = 'accounts_development_test'
|
81
|
-
MongoMapper.accounts_names.each do |acccount_name|
|
82
|
-
next if acccount_name == 'development'
|
83
|
-
MongoMapper.account_connection.drop_database MongoMapper.account_database_name(acccount_name)
|
84
|
-
end
|
85
|
-
MongoMapper.current_account_database.collection('stub').save('a' => 'b') # Creating empty database
|
86
|
-
MongoMapper.accounts_names.should == ['development']
|
87
|
-
end
|
88
|
-
|
89
|
-
after :each do
|
90
|
-
MongoMapper.account_database 'development'
|
91
|
-
end
|
92
|
-
|
93
|
-
it "Shouldn't update if versions are the same" do
|
94
|
-
results = Migration.update_database_to(0)
|
95
|
-
results[@account_db_name].should be_false
|
96
|
-
end
|
97
|
-
|
98
|
-
it "increase_db_version" do
|
99
|
-
Sample.count.should == 0
|
100
|
-
Migration.define_migration 1 do |m|
|
101
|
-
m.up{Sample.create :name => 'name'}
|
102
|
-
end
|
103
|
-
|
104
|
-
results = Migration.update_database_to(1)
|
105
|
-
results.size.should == 1
|
106
|
-
results[@account_db_name].should be_true
|
107
|
-
|
108
|
-
MongoMapper.account_database 'development'
|
109
|
-
Sample.count.should == 1
|
110
|
-
Migration.metadata(MongoMapper.current_account_database).should == 1
|
111
|
-
end
|
112
|
-
|
113
|
-
it "decrease_db_version" do
|
114
|
-
Migration.define_migration 1 do |m|
|
115
|
-
m.up{Sample.create :name => 'name'}
|
116
|
-
m.down{Sample.destroy_all}
|
117
|
-
end
|
118
|
-
|
119
|
-
# Up
|
120
|
-
results = Migration.update_database_to(1)
|
121
|
-
results.size.should == 1
|
122
|
-
results[@account_db_name].should be_true
|
123
|
-
|
124
|
-
MongoMapper.account_database 'development'
|
125
|
-
Sample.count.should == 1
|
126
|
-
|
127
|
-
# Down
|
128
|
-
results = Migration.update_database_to(0)
|
129
|
-
results.size.should == 1
|
130
|
-
results[@account_db_name].should be_true
|
131
|
-
|
132
|
-
MongoMapper.account_database 'development'
|
133
|
-
Sample.count.should == 0
|
134
|
-
Migration.metadata(MongoMapper.database).should == 0
|
135
|
-
end
|
136
|
-
end
|
137
|
-
end
|