mongoid-genesis 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/Gemfile +1 -1
- data/README.md +15 -12
- data/lib/{mongoid_genesis.rb → mongoid-genesis.rb} +0 -0
- data/spec/spec_helper.rb +1 -1
- metadata +100 -62
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -10,7 +10,7 @@ Install
|
|
10
10
|
-------
|
11
11
|
|
12
12
|
```
|
13
|
-
gem install
|
13
|
+
gem install mongoid-genesis
|
14
14
|
```
|
15
15
|
|
16
16
|
Rails 3
|
@@ -19,7 +19,7 @@ Rails 3
|
|
19
19
|
In your Gemfile:
|
20
20
|
|
21
21
|
```ruby
|
22
|
-
gem '
|
22
|
+
gem 'mongoid-genesis'
|
23
23
|
```
|
24
24
|
|
25
25
|
Usage
|
@@ -39,7 +39,7 @@ end
|
|
39
39
|
|
40
40
|
This will create an embedded object that will store the original data.
|
41
41
|
|
42
|
-
**Basic
|
42
|
+
**Basic structure**
|
43
43
|
|
44
44
|
```ruby
|
45
45
|
book = Book.new(:title => 'Art of war', :author => 'Sun Tzu')
|
@@ -47,37 +47,41 @@ book = Book.new(:title => 'Art of war', :author => 'Sun Tzu')
|
|
47
47
|
|
48
48
|
book.genesis
|
49
49
|
#=> #<BookGenesis _id: 1>
|
50
|
+
```
|
50
51
|
|
52
|
+
**Preserve the original attribute**
|
51
53
|
|
52
|
-
|
53
|
-
|
54
|
+
```ruby
|
54
55
|
book.write_and_preserve_attribute(:author, 'Sun Zi')
|
55
56
|
#=> #<Book _id: 1, title: "Art of war", author: "Sun Zi">
|
56
57
|
|
57
58
|
book.genesis
|
58
59
|
#=> #<BookGenesis _id: 1, author: "Sun Tzu">
|
60
|
+
```
|
59
61
|
|
62
|
+
**After preserving the original attribute, it will not be overwritten**
|
60
63
|
|
61
|
-
|
62
|
-
|
64
|
+
```ruby
|
63
65
|
book.write_and_preserve_attribute(:author, 'Sun Wu')
|
64
66
|
#=> #<Book _id: 1, title: "Art of war", author: "Sun Wu">
|
65
67
|
|
66
68
|
book.genesis
|
67
69
|
#=> #<BookGenesis _id: 1, author: "Sun Tzu">
|
70
|
+
```
|
68
71
|
|
72
|
+
**You can restore the original attribute**
|
69
73
|
|
70
|
-
|
71
|
-
|
74
|
+
```ruby
|
72
75
|
book.restore_genesis(:author)
|
73
76
|
#=> #<Book _id: 1, title: "Art of war", author: "Sun Tzu">
|
74
77
|
|
75
78
|
book.genesis
|
76
79
|
#=> #<BookGenesis _id: 1, author: nil>
|
80
|
+
```
|
77
81
|
|
82
|
+
**To update the original document without losing the current state**
|
78
83
|
|
79
|
-
|
80
|
-
|
84
|
+
```ruby
|
81
85
|
book.write_and_preserve_attribute(:title, 'The Art of Peace')
|
82
86
|
book.reverse_genesis
|
83
87
|
|
@@ -89,7 +93,6 @@ book.reverse_genesis
|
|
89
93
|
|
90
94
|
#=> #<Book _id: 1, title: "The Art of Peace", author: "Sun Tzu">
|
91
95
|
#=> #<BookGenesis _id: 1, title: "The Art of War : Revisited">
|
92
|
-
|
93
96
|
```
|
94
97
|
|
95
98
|
Copyright
|
File without changes
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,84 +1,113 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongoid-genesis
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 0
|
9
|
+
- 2
|
10
|
+
version: 0.0.2
|
6
11
|
platform: ruby
|
7
|
-
authors:
|
12
|
+
authors:
|
8
13
|
- Sebastien Rosa
|
9
14
|
autorequire:
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
17
|
+
|
18
|
+
date: 2012-04-02 00:00:00 Z
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
15
21
|
name: mongoid
|
16
|
-
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
17
24
|
none: false
|
18
|
-
requirements:
|
19
|
-
- -
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
|
25
|
+
requirements:
|
26
|
+
- - ">="
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
hash: 3
|
29
|
+
segments:
|
30
|
+
- 2
|
31
|
+
- 0
|
32
|
+
version: "2.0"
|
22
33
|
type: :runtime
|
23
|
-
|
24
|
-
|
25
|
-
- !ruby/object:Gem::Dependency
|
34
|
+
version_requirements: *id001
|
35
|
+
- !ruby/object:Gem::Dependency
|
26
36
|
name: bson_ext
|
27
|
-
|
37
|
+
prerelease: false
|
38
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
28
39
|
none: false
|
29
|
-
requirements:
|
40
|
+
requirements:
|
30
41
|
- - ~>
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
hash: 3
|
44
|
+
segments:
|
45
|
+
- 1
|
46
|
+
- 6
|
47
|
+
version: "1.6"
|
33
48
|
type: :development
|
34
|
-
|
35
|
-
|
36
|
-
- !ruby/object:Gem::Dependency
|
49
|
+
version_requirements: *id002
|
50
|
+
- !ruby/object:Gem::Dependency
|
37
51
|
name: rake
|
38
|
-
|
52
|
+
prerelease: false
|
53
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
39
54
|
none: false
|
40
|
-
requirements:
|
41
|
-
- -
|
42
|
-
- !ruby/object:Gem::Version
|
55
|
+
requirements:
|
56
|
+
- - ">="
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
hash: 49
|
59
|
+
segments:
|
60
|
+
- 0
|
61
|
+
- 8
|
62
|
+
- 7
|
43
63
|
version: 0.8.7
|
44
64
|
type: :development
|
45
|
-
|
46
|
-
|
47
|
-
- !ruby/object:Gem::Dependency
|
65
|
+
version_requirements: *id003
|
66
|
+
- !ruby/object:Gem::Dependency
|
48
67
|
name: rspec
|
49
|
-
|
68
|
+
prerelease: false
|
69
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
50
70
|
none: false
|
51
|
-
requirements:
|
52
|
-
- -
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
|
71
|
+
requirements:
|
72
|
+
- - ">="
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
hash: 3
|
75
|
+
segments:
|
76
|
+
- 2
|
77
|
+
- 0
|
78
|
+
version: "2.0"
|
55
79
|
type: :development
|
56
|
-
|
57
|
-
|
58
|
-
- !ruby/object:Gem::Dependency
|
80
|
+
version_requirements: *id004
|
81
|
+
- !ruby/object:Gem::Dependency
|
59
82
|
name: metrical
|
60
|
-
|
83
|
+
prerelease: false
|
84
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
61
85
|
none: false
|
62
|
-
requirements:
|
63
|
-
- -
|
64
|
-
- !ruby/object:Gem::Version
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
hash: 27
|
90
|
+
segments:
|
91
|
+
- 0
|
92
|
+
- 1
|
93
|
+
- 0
|
65
94
|
version: 0.1.0
|
66
95
|
type: :development
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
without losing the original one.
|
71
|
-
email:
|
96
|
+
version_requirements: *id005
|
97
|
+
description: Mongoid Genesis will give you the ability to override attribute values without losing the original one.
|
98
|
+
email:
|
72
99
|
- sebastien@demarque.com
|
73
100
|
executables: []
|
101
|
+
|
74
102
|
extensions: []
|
75
|
-
|
103
|
+
|
104
|
+
extra_rdoc_files:
|
76
105
|
- LICENSE
|
77
106
|
- README.md
|
78
|
-
files:
|
107
|
+
files:
|
79
108
|
- lib/mongoid/genesis/storage.rb
|
80
109
|
- lib/mongoid/genesis.rb
|
81
|
-
- lib/
|
110
|
+
- lib/mongoid-genesis.rb
|
82
111
|
- spec/mongoid/genesis_spec.rb
|
83
112
|
- spec/spec_helper.rb
|
84
113
|
- spec/support/models/book.rb
|
@@ -87,28 +116,37 @@ files:
|
|
87
116
|
- Rakefile
|
88
117
|
- Gemfile
|
89
118
|
homepage: https://github.com/demarque/mongoid-genesis
|
90
|
-
licenses:
|
119
|
+
licenses:
|
91
120
|
- MIT
|
92
121
|
post_install_message:
|
93
122
|
rdoc_options: []
|
94
|
-
|
123
|
+
|
124
|
+
require_paths:
|
95
125
|
- lib
|
96
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
126
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
97
127
|
none: false
|
98
|
-
requirements:
|
99
|
-
- -
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
|
102
|
-
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
hash: 3
|
132
|
+
segments:
|
133
|
+
- 0
|
134
|
+
version: "0"
|
135
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
103
136
|
none: false
|
104
|
-
requirements:
|
105
|
-
- -
|
106
|
-
- !ruby/object:Gem::Version
|
107
|
-
|
137
|
+
requirements:
|
138
|
+
- - ">="
|
139
|
+
- !ruby/object:Gem::Version
|
140
|
+
hash: 3
|
141
|
+
segments:
|
142
|
+
- 0
|
143
|
+
version: "0"
|
108
144
|
requirements: []
|
145
|
+
|
109
146
|
rubyforge_project: mongoid-genesis
|
110
|
-
rubygems_version: 1.8.
|
147
|
+
rubygems_version: 1.8.15
|
111
148
|
signing_key:
|
112
149
|
specification_version: 3
|
113
150
|
summary: Preserve the original data of a model.
|
114
151
|
test_files: []
|
152
|
+
|