mongoid_collection_snapshot 0.2.0 → 1.0.0
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.
- checksums.yaml +7 -0
- data/.travis.yml +15 -0
- data/CHANGELOG.md +17 -4
- data/Gemfile +10 -2
- data/README.md +52 -8
- data/Rakefile +6 -6
- data/VERSION +1 -1
- data/lib/mongoid_collection_snapshot.rb +10 -5
- data/mongoid_collection_snapshot.gemspec +11 -11
- data/spec/models/custom_connection_snapshot.rb +18 -0
- data/spec/mongoid/collection_snapshot_spec.rb +24 -3
- metadata +19 -46
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 918809b176c7a1430e76767c00aa8e3f59114a68
|
4
|
+
data.tar.gz: 7cfdc2500575d070f4f525ff84b17f37065477c9
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: f13bc196f4e0e6544cd9dab28715cd3d1fd3fa8a4017daf82488212653a6827869784dbbefd3df4c5307bdabce4349e2fe9b99c9a71df105517e06a73220052b
|
7
|
+
data.tar.gz: abfbdd42a184eb2e2bc8482b3efd9b8aeff462bfe487b1e5fbc1a797d37b2c9ac5f6f8b809467431828eb4684a84bebeec0a633a6b2d5beaeda2710ffc344fcb
|
data/.travis.yml
ADDED
data/CHANGELOG.md
CHANGED
@@ -1,11 +1,24 @@
|
|
1
|
-
Next Release
|
2
|
-
|
1
|
+
Next Release
|
2
|
+
------------
|
3
|
+
|
4
|
+
* Expose `snapshot_session` for custom snapshot storage - [@joeyAghion](https://github.com/joeyAghion)
|
5
|
+
* Compatibility with Mongoid 4.x - [@dblock](https://github.com/dblock).
|
6
|
+
|
7
|
+
0.2.0
|
8
|
+
-----
|
9
|
+
|
10
|
+
Important note for those upgrading from 0.1.0 (pre-Mongoid 3.0) to 0.2.0 (Mongoid 3.x): you'll need to upgrade any
|
11
|
+
existing snapshots created by mongoid_collection_snapshot 0.1.0 in your database before they're usable. You can
|
12
|
+
do this by renaming the 'workspace_slug' attribute to 'slug' in MongoDB after upgrading. For example,
|
13
|
+
to upgrade the snapshot class "MySnapshot", you'd enter the following at the mongo shell:
|
14
|
+
|
15
|
+
db.my_snapshot.rename({'workspace_slug': {'$exists': true}}, {'$rename': {'workspace_slug': 'slug'}})
|
3
16
|
|
4
17
|
* Added ability to maintain a snapshot of multiple collections atomically - [@aaw](https://github.com/aaw).
|
5
18
|
* Added support for [Mongoid 3.0](https://github.com/mongoid/mongoid) - [@dblock](https://github.com/dblock).
|
6
19
|
* Relaxed version limitations of [mongoid_slug](https://github.com/digitalplaywright/mongoid-slug) - [@dblock](https://github.com/dblock).
|
7
20
|
|
8
|
-
|
9
|
-
|
21
|
+
0.1.0
|
22
|
+
-----
|
10
23
|
|
11
24
|
* Initial public release - [@aaw](https://github.com/aaw).
|
data/Gemfile
CHANGED
@@ -1,10 +1,18 @@
|
|
1
1
|
source "http://rubygems.org"
|
2
2
|
|
3
|
-
|
3
|
+
case version = ENV['MONGOID_VERSION'] || '~> 3.1'
|
4
|
+
when /4/
|
5
|
+
gem 'mongoid', github: 'mongoid/mongoid'
|
6
|
+
when /3/
|
7
|
+
gem 'mongoid', '~> 3.1'
|
8
|
+
else
|
9
|
+
gem 'mongoid', version
|
10
|
+
end
|
11
|
+
|
4
12
|
gem "mongoid_slug"
|
5
13
|
|
6
14
|
group :development do
|
7
|
-
gem "mongoid", "~> 3.0"
|
8
15
|
gem "rspec", "~> 2.11.0"
|
9
16
|
gem "jeweler", "~> 1.8.4"
|
10
17
|
end
|
18
|
+
|
data/README.md
CHANGED
@@ -3,11 +3,13 @@ Mongoid Collection Snapshot
|
|
3
3
|
|
4
4
|
Easy maintenance of collections of processed data in MongoDB with the Mongoid 3.x ODM.
|
5
5
|
|
6
|
+
[](https://travis-ci.org/aaw/mongoid_collection_snapshot)
|
7
|
+
|
6
8
|
Quick example:
|
7
9
|
--------------
|
8
10
|
|
9
11
|
Suppose that you have a Mongoid model called `Artwork`, stored
|
10
|
-
in a MongoDB collection called `artworks` and the underlying documents
|
12
|
+
in a MongoDB collection called `artworks` and the underlying documents
|
11
13
|
look something like:
|
12
14
|
|
13
15
|
{ name: 'Flowers', artist: 'Andy Warhol', price: 3000000 }
|
@@ -18,10 +20,10 @@ average price of each artist's works, resulting in a collection called
|
|
18
20
|
|
19
21
|
{ _id: { artist: 'Andy Warhol'}, value: { price: 1500000 } }
|
20
22
|
|
21
|
-
If your system wants to maintain and use this average price data, it has
|
23
|
+
If your system wants to maintain and use this average price data, it has
|
22
24
|
to do so at the level of raw MongoDB operations, since
|
23
25
|
map/reduce result documents don't map well to models in Mongoid.
|
24
|
-
Furthermore, even though map/reduce jobs can take some time to run, you probably
|
26
|
+
Furthermore, even though map/reduce jobs can take some time to run, you probably
|
25
27
|
want the entire `artist_average_price` collection populated atomically
|
26
28
|
from the point of view of your system, since otherwise you don't ever
|
27
29
|
know the state of the data in the collection - you could access it in
|
@@ -29,7 +31,7 @@ the middle of a map/reduce and get partial, incorrect results.
|
|
29
31
|
|
30
32
|
mongoid_collection_snapshot solves this problem by providing an atomic
|
31
33
|
view of collections of data like map/reduce results that live outside
|
32
|
-
of Mongoid.
|
34
|
+
of Mongoid.
|
33
35
|
|
34
36
|
In the example above, we'd set up our average artist price collection like:
|
35
37
|
|
@@ -83,14 +85,14 @@ And always be sure that you'll never be looking at partial results. The only
|
|
83
85
|
thing you need to do to hook into mongoid_collection_snapshot is implement the
|
84
86
|
method `build`, which populates the collection snapshot and any indexes you need.
|
85
87
|
|
86
|
-
By default, mongoid_collection_snapshot maintains the most recent two snapshots
|
88
|
+
By default, mongoid_collection_snapshot maintains the most recent two snapshots
|
87
89
|
computed any given time.
|
88
90
|
|
89
|
-
|
90
|
-
|
91
|
+
Multi-collection snapshots
|
92
|
+
--------------------------
|
91
93
|
|
92
94
|
You can maintain multiple collections atomically within the same snapshot by
|
93
|
-
passing unique collection identifiers to ``collection_snaphot`` when you call it
|
95
|
+
passing unique collection identifiers to ``collection_snaphot`` when you call it
|
94
96
|
in your build or query methods:
|
95
97
|
|
96
98
|
``` ruby
|
@@ -117,6 +119,48 @@ class ArtistStats
|
|
117
119
|
end
|
118
120
|
```
|
119
121
|
|
122
|
+
Custom database connections
|
123
|
+
---------------------------
|
124
|
+
|
125
|
+
Your class can specify a custom database for storage of collection snapshots by overriding the `snapshot_session` instance method. In this example, we memoize the connection at the class level to avoid creating many separate connection instances.
|
126
|
+
|
127
|
+
```ruby
|
128
|
+
class ArtistStats
|
129
|
+
include Mongoid::CollectionSnapshot
|
130
|
+
|
131
|
+
def build
|
132
|
+
# ...
|
133
|
+
end
|
134
|
+
|
135
|
+
def snapshot_session
|
136
|
+
self.class.snapshot_session
|
137
|
+
end
|
138
|
+
|
139
|
+
def self.snapshot_session
|
140
|
+
@@snapshot_session ||= Moped::Session.new(['127.0.0.1:27017']).tap do |s|
|
141
|
+
s.use :alternate_db
|
142
|
+
end
|
143
|
+
end
|
144
|
+
end
|
145
|
+
```
|
146
|
+
|
147
|
+
Another common way of configuring this is through mongoid.yml.
|
148
|
+
|
149
|
+
```yaml
|
150
|
+
development:
|
151
|
+
sessions:
|
152
|
+
default:
|
153
|
+
database: dev_data
|
154
|
+
imports:
|
155
|
+
database: dev_imports
|
156
|
+
```
|
157
|
+
|
158
|
+
```ruby
|
159
|
+
def snapshot_session
|
160
|
+
Mongoid.session('imports')
|
161
|
+
end
|
162
|
+
```
|
163
|
+
|
120
164
|
License
|
121
165
|
=======
|
122
166
|
|
data/Rakefile
CHANGED
@@ -25,11 +25,11 @@ Jeweler::Tasks.new do |gem|
|
|
25
25
|
end
|
26
26
|
Jeweler::RubygemsDotOrgTasks.new
|
27
27
|
|
28
|
-
require '
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
28
|
+
require 'rspec/core'
|
29
|
+
require 'rspec/core/rake_task'
|
30
|
+
RSpec::Core::RakeTask.new(:spec) do |spec|
|
31
|
+
spec.pattern = FileList['spec/**/*_spec.rb']
|
32
|
+
spec.rspec_opts = "--color --format progress"
|
33
33
|
end
|
34
34
|
|
35
|
-
task :default => :
|
35
|
+
task :default => :spec
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
1.0.0
|
@@ -13,8 +13,8 @@ module Mongoid::CollectionSnapshot
|
|
13
13
|
|
14
14
|
field :max_collection_snapshot_instances, default: 2
|
15
15
|
|
16
|
-
|
17
|
-
|
16
|
+
before_create :build
|
17
|
+
after_create :ensure_at_most_two_instances_exist
|
18
18
|
before_destroy :drop_snapshot_collections
|
19
19
|
end
|
20
20
|
|
@@ -26,14 +26,14 @@ module Mongoid::CollectionSnapshot
|
|
26
26
|
|
27
27
|
def collection_snapshot(name=nil)
|
28
28
|
if name
|
29
|
-
|
29
|
+
snapshot_session["#{self.collection.name}.#{name}.#{slug}"]
|
30
30
|
else
|
31
|
-
|
31
|
+
snapshot_session["#{self.collection.name}.#{slug}"]
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
35
35
|
def drop_snapshot_collections
|
36
|
-
|
36
|
+
snapshot_session.collections.each do |collection|
|
37
37
|
collection.drop if collection.name =~ /^#{self.collection.name}\.([^\.]+\.)?#{slug}$/
|
38
38
|
end
|
39
39
|
end
|
@@ -48,5 +48,10 @@ module Mongoid::CollectionSnapshot
|
|
48
48
|
all_instances[self.max_collection_snapshot_instances..-1].each { |instance| instance.destroy }
|
49
49
|
end
|
50
50
|
end
|
51
|
+
|
52
|
+
# Override to supply custom database connection for snapshots
|
53
|
+
def snapshot_session
|
54
|
+
Mongoid.default_session
|
55
|
+
end
|
51
56
|
|
52
57
|
end
|
@@ -2,14 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
+
# stub: mongoid_collection_snapshot 1.0.0 ruby lib
|
5
6
|
|
6
7
|
Gem::Specification.new do |s|
|
7
8
|
s.name = "mongoid_collection_snapshot"
|
8
|
-
s.version = "0.
|
9
|
+
s.version = "1.0.0"
|
9
10
|
|
10
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
|
+
s.require_paths = ["lib"]
|
11
13
|
s.authors = ["Aaron Windsor"]
|
12
|
-
s.date = "
|
14
|
+
s.date = "2014-06-07"
|
13
15
|
s.description = "Easy maintenence of collections of processed data in MongoDB with the Mongoid ODM"
|
14
16
|
s.email = "aaron.windsor@gmail.com"
|
15
17
|
s.extra_rdoc_files = [
|
@@ -17,6 +19,7 @@ Gem::Specification.new do |s|
|
|
17
19
|
"README.md"
|
18
20
|
]
|
19
21
|
s.files = [
|
22
|
+
".travis.yml",
|
20
23
|
"CHANGELOG.md",
|
21
24
|
"Gemfile",
|
22
25
|
"LICENSE.txt",
|
@@ -27,36 +30,33 @@ Gem::Specification.new do |s|
|
|
27
30
|
"mongoid_collection_snapshot.gemspec",
|
28
31
|
"spec/models/artwork.rb",
|
29
32
|
"spec/models/average_artist_price.rb",
|
33
|
+
"spec/models/custom_connection_snapshot.rb",
|
30
34
|
"spec/models/multi_collection_snapshot.rb",
|
31
35
|
"spec/mongoid/collection_snapshot_spec.rb",
|
32
36
|
"spec/spec_helper.rb"
|
33
37
|
]
|
34
38
|
s.homepage = "http://github.com/aaw/mongoid_collection_snapshot"
|
35
39
|
s.licenses = ["MIT"]
|
36
|
-
s.
|
37
|
-
s.rubygems_version = "1.8.24"
|
40
|
+
s.rubygems_version = "2.2.2"
|
38
41
|
s.summary = "Easy maintenence of collections of processed data in MongoDB with the Mongoid ODM"
|
39
42
|
|
40
43
|
if s.respond_to? :specification_version then
|
41
|
-
s.specification_version =
|
44
|
+
s.specification_version = 4
|
42
45
|
|
43
46
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
44
|
-
s.add_runtime_dependency(%q<mongoid>, ["~> 3.
|
47
|
+
s.add_runtime_dependency(%q<mongoid>, ["~> 3.1"])
|
45
48
|
s.add_runtime_dependency(%q<mongoid_slug>, [">= 0"])
|
46
|
-
s.add_development_dependency(%q<mongoid>, ["~> 3.0"])
|
47
49
|
s.add_development_dependency(%q<rspec>, ["~> 2.11.0"])
|
48
50
|
s.add_development_dependency(%q<jeweler>, ["~> 1.8.4"])
|
49
51
|
else
|
50
|
-
s.add_dependency(%q<mongoid>, ["~> 3.
|
52
|
+
s.add_dependency(%q<mongoid>, ["~> 3.1"])
|
51
53
|
s.add_dependency(%q<mongoid_slug>, [">= 0"])
|
52
|
-
s.add_dependency(%q<mongoid>, ["~> 3.0"])
|
53
54
|
s.add_dependency(%q<rspec>, ["~> 2.11.0"])
|
54
55
|
s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
|
55
56
|
end
|
56
57
|
else
|
57
|
-
s.add_dependency(%q<mongoid>, ["~> 3.
|
58
|
+
s.add_dependency(%q<mongoid>, ["~> 3.1"])
|
58
59
|
s.add_dependency(%q<mongoid_slug>, [">= 0"])
|
59
|
-
s.add_dependency(%q<mongoid>, ["~> 3.0"])
|
60
60
|
s.add_dependency(%q<rspec>, ["~> 2.11.0"])
|
61
61
|
s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
|
62
62
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
class CustomConnectionSnapshot
|
2
|
+
include Mongoid::CollectionSnapshot
|
3
|
+
|
4
|
+
def self.snapshot_session
|
5
|
+
@@snapshot_session ||= Moped::Session.new(['127.0.0.1:27017']).tap do |session|
|
6
|
+
session.use :snapshot_test
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
def snapshot_session
|
11
|
+
self.class.snapshot_session
|
12
|
+
end
|
13
|
+
|
14
|
+
def build
|
15
|
+
collection_snapshot.insert('name' => 'foo')
|
16
|
+
collection_snapshot('foo').insert({'name' => 'bar'})
|
17
|
+
end
|
18
|
+
end
|
@@ -4,7 +4,7 @@ module Mongoid
|
|
4
4
|
describe CollectionSnapshot do
|
5
5
|
|
6
6
|
context "creating a basic snapshot" do
|
7
|
-
|
7
|
+
|
8
8
|
let!(:flowers) { Artwork.create(:name => 'Flowers', :artist => 'Andy Warhol', :price => 3000000) }
|
9
9
|
let!(:guns) { Artwork.create(:name => 'Guns', :artist => 'Andy Warhol', :price => 1000000) }
|
10
10
|
let!(:vinblastine) { Artwork.create(:name => 'Vinblastine', :artist => 'Damien Hirst', :price => 1500000) }
|
@@ -31,7 +31,7 @@ module Mongoid
|
|
31
31
|
AverageArtistPrice.latest.should == second
|
32
32
|
sleep(1)
|
33
33
|
third = AverageArtistPrice.create
|
34
|
-
AverageArtistPrice.latest.should == third
|
34
|
+
AverageArtistPrice.latest.should == third
|
35
35
|
end
|
36
36
|
|
37
37
|
it "should only maintain at most two of the latest snapshots to support its calculations" do
|
@@ -45,7 +45,7 @@ module Mongoid
|
|
45
45
|
end
|
46
46
|
|
47
47
|
context "creating a snapshot containing multiple collections" do
|
48
|
-
|
48
|
+
|
49
49
|
it "populates several collections and allows them to be queried" do
|
50
50
|
MultiCollectionSnapshot.latest.should be_nil
|
51
51
|
10.times { MultiCollectionSnapshot.create }
|
@@ -76,5 +76,26 @@ module Mongoid
|
|
76
76
|
|
77
77
|
end
|
78
78
|
|
79
|
+
context "with a custom snapshot connection" do
|
80
|
+
|
81
|
+
around(:each) do |example|
|
82
|
+
CustomConnectionSnapshot.snapshot_session.drop
|
83
|
+
example.run
|
84
|
+
CustomConnectionSnapshot.snapshot_session.drop
|
85
|
+
end
|
86
|
+
|
87
|
+
it "builds snapshot in custom database" do
|
88
|
+
snapshot = CustomConnectionSnapshot.create
|
89
|
+
[
|
90
|
+
"#{CustomConnectionSnapshot.collection.name}.foo.#{snapshot.slug}",
|
91
|
+
"#{CustomConnectionSnapshot.collection.name}.#{snapshot.slug}"
|
92
|
+
].each do |collection_name|
|
93
|
+
Mongoid.default_session[collection_name].find.count.should == 0
|
94
|
+
CustomConnectionSnapshot.snapshot_session[collection_name].find.count.should == 1
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
end
|
99
|
+
|
79
100
|
end
|
80
101
|
end
|
metadata
CHANGED
@@ -1,94 +1,69 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongoid_collection_snapshot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 1.0.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Aaron Windsor
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-06-07 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: mongoid
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- - ~>
|
17
|
+
- - "~>"
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version: '3.
|
19
|
+
version: '3.1'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- - ~>
|
24
|
+
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: '3.
|
26
|
+
version: '3.1'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: mongoid_slug
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - ">="
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '0'
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - ">="
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
|
-
- !ruby/object:Gem::Dependency
|
47
|
-
name: mongoid
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
|
-
requirements:
|
51
|
-
- - ~>
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: '3.0'
|
54
|
-
type: :development
|
55
|
-
prerelease: false
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
|
-
requirements:
|
59
|
-
- - ~>
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '3.0'
|
62
41
|
- !ruby/object:Gem::Dependency
|
63
42
|
name: rspec
|
64
43
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
44
|
requirements:
|
67
|
-
- - ~>
|
45
|
+
- - "~>"
|
68
46
|
- !ruby/object:Gem::Version
|
69
47
|
version: 2.11.0
|
70
48
|
type: :development
|
71
49
|
prerelease: false
|
72
50
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
51
|
requirements:
|
75
|
-
- - ~>
|
52
|
+
- - "~>"
|
76
53
|
- !ruby/object:Gem::Version
|
77
54
|
version: 2.11.0
|
78
55
|
- !ruby/object:Gem::Dependency
|
79
56
|
name: jeweler
|
80
57
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
58
|
requirements:
|
83
|
-
- - ~>
|
59
|
+
- - "~>"
|
84
60
|
- !ruby/object:Gem::Version
|
85
61
|
version: 1.8.4
|
86
62
|
type: :development
|
87
63
|
prerelease: false
|
88
64
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
65
|
requirements:
|
91
|
-
- - ~>
|
66
|
+
- - "~>"
|
92
67
|
- !ruby/object:Gem::Version
|
93
68
|
version: 1.8.4
|
94
69
|
description: Easy maintenence of collections of processed data in MongoDB with the
|
@@ -100,6 +75,7 @@ extra_rdoc_files:
|
|
100
75
|
- LICENSE.txt
|
101
76
|
- README.md
|
102
77
|
files:
|
78
|
+
- ".travis.yml"
|
103
79
|
- CHANGELOG.md
|
104
80
|
- Gemfile
|
105
81
|
- LICENSE.txt
|
@@ -110,36 +86,33 @@ files:
|
|
110
86
|
- mongoid_collection_snapshot.gemspec
|
111
87
|
- spec/models/artwork.rb
|
112
88
|
- spec/models/average_artist_price.rb
|
89
|
+
- spec/models/custom_connection_snapshot.rb
|
113
90
|
- spec/models/multi_collection_snapshot.rb
|
114
91
|
- spec/mongoid/collection_snapshot_spec.rb
|
115
92
|
- spec/spec_helper.rb
|
116
93
|
homepage: http://github.com/aaw/mongoid_collection_snapshot
|
117
94
|
licenses:
|
118
95
|
- MIT
|
96
|
+
metadata: {}
|
119
97
|
post_install_message:
|
120
98
|
rdoc_options: []
|
121
99
|
require_paths:
|
122
100
|
- lib
|
123
101
|
required_ruby_version: !ruby/object:Gem::Requirement
|
124
|
-
none: false
|
125
102
|
requirements:
|
126
|
-
- -
|
103
|
+
- - ">="
|
127
104
|
- !ruby/object:Gem::Version
|
128
105
|
version: '0'
|
129
|
-
segments:
|
130
|
-
- 0
|
131
|
-
hash: -1957011938527181136
|
132
106
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
133
|
-
none: false
|
134
107
|
requirements:
|
135
|
-
- -
|
108
|
+
- - ">="
|
136
109
|
- !ruby/object:Gem::Version
|
137
110
|
version: '0'
|
138
111
|
requirements: []
|
139
112
|
rubyforge_project:
|
140
|
-
rubygems_version:
|
113
|
+
rubygems_version: 2.2.2
|
141
114
|
signing_key:
|
142
|
-
specification_version:
|
115
|
+
specification_version: 4
|
143
116
|
summary: Easy maintenence of collections of processed data in MongoDB with the Mongoid
|
144
117
|
ODM
|
145
118
|
test_files: []
|