mongoid-history 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ YWI0Y2U4OTJkZGNjZDE3NjNmYzAxNmFjNWE1NDc0ZmNhOTcxOWJiZg==
5
+ data.tar.gz: !binary |-
6
+ YzYyODI5Y2I4ODJhZGU5MjdmYmIxZjc2NTY3MzE5YWI0Mjk0MjA5MA==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ Mjk5ZGI3MjRhMzQ1YzZhZTUxOTFjMThhYWE0ZjZiNTNhOWE4NzkzYjJjOWFl
10
+ MGQxMGVlZTFkNWI2M2Q5NjNkYWRhZWRkMjgxNmQxMTllYzg4OWJjNzk2NmU2
11
+ ZmYwMjI5NzJkNWQzZWY1NzMzNjBjZmRkYmRlNGViMzczYzdlMDk=
12
+ data.tar.gz: !binary |-
13
+ MTBlYzQwMTRmYmViNGRiN2RmOGVjZDVhMWNhYzhjMTBiNTgwYTE4OWU1NDJh
14
+ MGVjNGI5MGFiNmYyYzJhYmM5Nzc4ZDhlNGRmOWU4Y2E3YTc0NDk2N2UxNGJi
15
+ ZTg0MDgxYmZlNmRkM2UwZjc3OGE2ODQ5ZjE4ZTM1MDYzNzU3Zjc=
data/.document CHANGED
@@ -1,5 +1,5 @@
1
- lib/**/*.rb
2
- bin/*
3
- -
4
- features/**/*.feature
5
- LICENSE.txt
1
+ lib/**/*.rb
2
+ bin/*
3
+ -
4
+ features/**/*.feature
5
+ LICENSE.txt
data/.rspec CHANGED
@@ -1 +1 @@
1
- --color
1
+ --color
data/.rubocop.yml ADDED
@@ -0,0 +1,75 @@
1
+ AllCops:
2
+ Excludes:
3
+ - vendor/**
4
+ - bin/**
5
+
6
+ LineLength:
7
+ Enabled: false
8
+
9
+ MethodLength:
10
+ Enabled: false
11
+
12
+ ClassLength:
13
+ Enabled: false
14
+
15
+ Documentation:
16
+ # don't require classes to be documented
17
+ Enabled: false
18
+
19
+ CollectionMethods:
20
+ # don't prefer map to collect, recuce to inject
21
+ Enabled: false
22
+
23
+ Encoding:
24
+ # no need to always specify encoding
25
+ Enabled: false
26
+
27
+ HashMethods:
28
+ # key? instead of has_key?
29
+ # value? instead of has_value?
30
+ Enabled: false
31
+
32
+ StringLiterals:
33
+ # use single or double-quoted strings, as you please
34
+ Enabled: false
35
+
36
+ Void:
37
+ # == operator used in void context in specs
38
+ Enabled: false
39
+
40
+ SignalException:
41
+ # prefer raise to fail
42
+ EnforcedStyle: only_raise
43
+
44
+ RaiseArgs:
45
+ # don't care for what kind of raise
46
+ Enabled: false
47
+
48
+ PerlBackrefs:
49
+ # TODO: regular expression matching with $1, $2, etc.
50
+ Enabled: false
51
+
52
+ BlockNesting:
53
+ # TODO: fix too much nesting
54
+ Max: 4
55
+
56
+ Lambda:
57
+ # TODO: replace all lambda with -> or Proc
58
+ Enabled: false
59
+
60
+ Blocks:
61
+ # allow multi-line blocks like expect { }
62
+ Enabled: false
63
+
64
+ WordArray:
65
+ # %w vs. [ '', ... ]
66
+ Enabled: false
67
+
68
+ CyclomaticComplexity:
69
+ Enabled: false
70
+
71
+ HandleExceptions:
72
+ Enabled: false
73
+
74
+ MultilineBlockChain:
75
+ Enabled: false
data/.travis.yml CHANGED
@@ -1,5 +1,7 @@
1
- language: ruby
2
- services: mongodb
3
- rvm:
4
- - 1.9.3
5
-
1
+ services: mongodb
2
+ language: ruby
3
+ cache: bundler
4
+ rvm:
5
+ - 2.0.0
6
+ - 1.9.3
7
+ - jruby-19mode
data/CHANGELOG.md CHANGED
@@ -1,76 +1,94 @@
1
- 0.4.0 (6/12/2013)
2
- -----------------
3
-
4
- * Add Mongoid::History.disable and Mongoid::History.enabled? methods for global tracking disablement - [@johnnyshields](https://github.com/johnnyshields)
5
- * Add `:changes_method` that optionally overrides which method to call to collect changes - [@joelnordel](https://github.com/joelnordell).
6
- * [API Change] The `:destroy` action now stores trackers in the format `original=value, modified=nil` (previously it was the reverse) - [@johnnyshields](https://github.com/johnnyshields)
7
- * Support for polymorphic embedded classes - [@tstepp](https://github.com/tstepp)
8
- * Support for Mongoid field aliases, e.g. `field :n, as: :name` - [@johnnyshields](https://github.com/johnnyshields)
9
- * Support for Mongoid embedded aliases, e.g. `embeds_many :comments, store_as: :coms` - [@johnnyshields](https://github.com/johnnyshields)
10
- * Add `#tracked_changes` and `#tracked_edits` methods to `Tracker` class for nicer change summaries - [@johnnyshields](https://github.com/johnnyshields) and [@tstepp](https://github.com/tstepp)
11
- * Refactored and exposed `#trackable_parent_class` in `Tracker`, which returns the class of the trackable regardless of whether the trackable itself has been destroyed - [@johnnyshields](https://github.com/johnnyshields)
12
- * Add class-level `#tracked_field?` and `#tracked_fields` methods; refactor logic to determine whether a field is tracked - [@johnnyshields](https://github.com/johnnyshields)
13
- * Fix bug in Trackable#track_update where `return` condition at beginning of method caused a short-circuit where memoization would not be cleared properly. - [@johnnyshields](https://github.com/johnnyshields)
14
- * Tests: Added spec for nested embedded documents - [@matekb](https://github.com/matekb)
15
- * Tests: Test run time cut in half (~2.5s versus ~5s) by using `#let` helper and removing class initialization before each test - [@johnnyshields](https://github.com/johnnyshields)
16
- * Tests: Remove `database_cleaner` gem in favor of `Mongoid.purge!` - [@johnnyshields](https://github.com/johnnyshields)
17
- * Tests: Remove dependency on non-committed file `mongoid.yml` and hardcode collection to `mongoid_history_test` - [@johnnyshields](https://github.com/johnnyshields)
18
-
19
- 0.3.3 (4/1/2013)
20
- ----------------
21
-
22
- * [#42](https://github.com/aq1018/mongoid-history/issues/42) Fix: corrected creation of association chain when using nested embedded documents - [@matekb](https://github.com/matekb).
23
- * [#56](https://github.com/aq1018/mongoid-history/issues/56) Fix: now possible to undo setting (creating) attributes that was previously unset - [@matekb](https://github.com/matekb).
24
- * [#49](https://github.com/aq1018/mongoid-history/issues/49) Fix: now correctly undo/redo localized fields - [@edejong](https://github.com/edejong).
25
-
26
-
27
- 0.3.2 (1/24/2013)
28
- -----------------
29
-
30
- * [#54](https://github.com/aq1018/mongoid-history/pull/54) Use an index instead of the `$elemMatch` selector in `history_tracks` - [@vecio](https://github.com/vecio).
31
- * [#11](https://github.com/aq1018/mongoid-history/issues/11) Added `:modifier_field_inverse_of` on `track_history` that defines the `:inverse_of` relationship of the modifier class - [@matekb](https://github.com/matekb), [@dblock](https://github.com/dblock).
32
-
33
- 0.3.1 (11/16/2012)
34
- ------------------
35
-
36
- * [#45](https://github.com/aq1018/mongoid-history/pull/45) Fix: intermittent hash ordering issue with `history_tracks` - [@getaroom](https://github.com/getaroom).
37
- * [#50](https://github.com/aq1018/mongoid-history/pull/50) Fix: tracking of array changes, undo and redo of field changes on non-embedded objects - [@dblock](https://github.com/dblock).
38
-
39
- 0.3.0 (8/21/2012)
40
- -----------------
41
-
42
- * [#41](https://github.com/aq1018/mongoid-history/pull/41) Mongoid 3.x support - [@zambot](https://github.com/zambot).
43
-
44
- 0.2.4 (8/21/2012)
45
- -----------------
46
-
47
- * [#38](https://github.com/aq1018/mongoid-history/pull/38) Fix: allow sub-models to be tracked by using `collection_name` as the scope - [@acant](https://github.com/acant).
48
- * [#35](https://github.com/aq1018/mongoid-history/pull/35) Fix: sweeper references record of change, not the record changed - [@dblock](https://github.com/dblock).
49
-
50
- 0.2.3 (4/20/2012)
51
- -----------------
52
-
53
- * [#23](https://github.com/aq1018/mongoid-history/pull/34): Updated `Trackable::association_hash` to write through parent - [@tcopple](https://github.com/tcopple).
54
- * Fix: `Trackable::association_hash` nil meta value call - [@tcopple](https://github.com/tcopple).
55
- * [#27](https://github.com/aq1018/mongoid-history/pull/27): Added support for re-creation of destroyed embedded documents - [@erlingwl](https://github.com/erlingwl)
56
-
57
- 0.1.7 (12/9/2011)
58
- -----------------
59
-
60
- * Fix: tracking `false` values - [@gottfrois](https://github.com/gottfrois).
61
- * Use a mongoid observer and controller `around_filter` to pick up modifying user from controller - [@bensymonds](https://github.com/bensymonds).
62
- * More flexible dependency on mongoid - [@sarcilav](https://github.com/sarcilav).
63
- * Fix: tracking broken in a multithreaded environment - [@dblock](https://github.com/dblock).
64
-
65
- 0.1.0 (5/13/2011)
66
- -----------------
67
-
68
- * Added support for `destroy` - [@dblock](https://github.com/dblock).
69
- * Added undo and redo - [@aq1018](https://github.com/aq1018).
70
- * Added support for temporarily disabling history tracking - [@aq1018](https://github.com/aq1018).
71
- * Record modifier for undo and redo actions - [@aq1018](https://github.com/aq1018).
72
-
73
- 0.0.1 (3/4/2011)
74
- ----------------
75
-
76
- * Intial public release - [@aq1018](https://github.com/aq1018).
1
+ Next Release
2
+ ------------
3
+
4
+ Next Release
5
+ ------------
6
+
7
+ * Your contribution here.
8
+
9
+ 0.4.1 (1/11/2014)
10
+ -----------------
11
+
12
+ * Fixed compatibility with Mongoid 4.x - [@dblock](https://github.com/dblock).
13
+ * `Mongoid::History::Sweeper` has been removed, in accorance with Mongoid 4.x (see [#3108](https://github.com/mongoid/mongoid/issues/3108)) and Rails 4.x observer deprecation - [@dblock](https://github.com/dblock).
14
+ * Default modifier parameter to `nil` in `undo!` and `redo!` - [@dblock](https://github.com/dblock).
15
+ * Fixed `undo!` and `redo!` for mass-assignment protected attributes - [@mati0090](https://github.com/mati0090).
16
+ * Implemented Rubocop, Ruby style linter - [@dblock](https://github.com/dblock).
17
+ * Remove unneeded coma from README - [@matsprea](https://github.com/matsprea).
18
+
19
+ 0.4.0 (6/12/2013)
20
+ -----------------
21
+
22
+ * Add `Mongoid::History.disable` and `Mongoid::History.enabled?` methods for global tracking disablement - [@johnnyshields](https://github.com/johnnyshields).
23
+ * Add `:changes_method` that optionally overrides which method to call to collect changes - [@joelnordel](https://github.com/joelnordell).
24
+ * [API Change] The `:destroy` action now stores trackers in the format `original=value, modified=nil` (previously it was the reverse) - [@johnnyshields](https://github.com/johnnyshields).
25
+ * Support for polymorphic embedded classes - [@tstepp](https://github.com/tstepp).
26
+ * Support for Mongoid field aliases, e.g. `field :n, as: :name` - [@johnnyshields](https://github.com/johnnyshields).
27
+ * Support for Mongoid embedded aliases, e.g. `embeds_many :comments, store_as: :coms` - [@johnnyshields](https://github.com/johnnyshields).
28
+ * Add `#tracked_changes` and `#tracked_edits` methods to `Tracker` class for nicer change summaries - [@johnnyshields](https://github.com/johnnyshields) and [@tstepp](https://github.com/tstepp).
29
+ * Refactored and exposed `#trackable_parent_class` in `Tracker`, which returns the class of the trackable regardless of whether the trackable itself has been destroyed - [@johnnyshields](https://github.com/johnnyshields).
30
+ * Add class-level `#tracked_field?` and `#tracked_fields` methods; refactor logic to determine whether a field is tracked - [@johnnyshields](https://github.com/johnnyshields).
31
+ * Fix bug in Trackable#track_update where `return` condition at beginning of method caused a short-circuit where memoization would not be cleared properly. - [@johnnyshields](https://github.com/johnnyshields).
32
+ * Tests: Added spec for nested embedded documents - [@matekb](https://github.com/matekb).
33
+ * Tests: Test run time cut in half (~2.5s versus ~5s) by using `#let` helper and removing class initialization before each test - [@johnnyshields](https://github.com/johnnyshields).
34
+ * Tests: Remove `database_cleaner` gem in favor of `Mongoid.purge!` - [@johnnyshields](https://github.com/johnnyshields).
35
+ * Tests: Remove dependency on non-committed file `mongoid.yml` and hardcode collection to `mongoid_history_test` - [@johnnyshields](https://github.com/johnnyshields).
36
+
37
+ 0.3.3 (4/1/2013)
38
+ ----------------
39
+
40
+ * [#42](https://github.com/aq1018/mongoid-history/issues/42) Fix: corrected creation of association chain when using nested embedded documents - [@matekb](https://github.com/matekb).
41
+ * [#56](https://github.com/aq1018/mongoid-history/issues/56) Fix: now possible to undo setting (creating) attributes that was previously unset - [@matekb](https://github.com/matekb).
42
+ * [#49](https://github.com/aq1018/mongoid-history/issues/49) Fix: now correctly undo/redo localized fields - [@edejong](https://github.com/edejong).
43
+
44
+
45
+ 0.3.2 (1/24/2013)
46
+ -----------------
47
+
48
+ * [#54](https://github.com/aq1018/mongoid-history/pull/54) Use an index instead of the `$elemMatch` selector in `history_tracks` - [@vecio](https://github.com/vecio).
49
+ * [#11](https://github.com/aq1018/mongoid-history/issues/11) Added `:modifier_field_inverse_of` on `track_history` that defines the `:inverse_of` relationship of the modifier class - [@matekb](https://github.com/matekb), [@dblock](https://github.com/dblock).
50
+
51
+ 0.3.1 (11/16/2012)
52
+ ------------------
53
+
54
+ * [#45](https://github.com/aq1018/mongoid-history/pull/45) Fix: intermittent hash ordering issue with `history_tracks` - [@getaroom](https://github.com/getaroom).
55
+ * [#50](https://github.com/aq1018/mongoid-history/pull/50) Fix: tracking of array changes, undo and redo of field changes on non-embedded objects - [@dblock](https://github.com/dblock).
56
+
57
+ 0.3.0 (8/21/2012)
58
+ -----------------
59
+
60
+ * [#41](https://github.com/aq1018/mongoid-history/pull/41) Mongoid 3.x support - [@zambot](https://github.com/zambot).
61
+
62
+ 0.2.4 (8/21/2012)
63
+ -----------------
64
+
65
+ * [#38](https://github.com/aq1018/mongoid-history/pull/38) Fix: allow sub-models to be tracked by using `collection_name` as the scope - [@acant](https://github.com/acant).
66
+ * [#35](https://github.com/aq1018/mongoid-history/pull/35) Fix: sweeper references record of change, not the record changed - [@dblock](https://github.com/dblock).
67
+
68
+ 0.2.3 (4/20/2012)
69
+ -----------------
70
+
71
+ * [#23](https://github.com/aq1018/mongoid-history/pull/34): Updated `Trackable::association_hash` to write through parent - [@tcopple](https://github.com/tcopple).
72
+ * Fix: `Trackable::association_hash` nil meta value call - [@tcopple](https://github.com/tcopple).
73
+ * [#27](https://github.com/aq1018/mongoid-history/pull/27): Added support for re-creation of destroyed embedded documents - [@erlingwl](https://github.com/erlingwl)
74
+
75
+ 0.1.7 (12/9/2011)
76
+ -----------------
77
+
78
+ * Fix: tracking `false` values - [@gottfrois](https://github.com/gottfrois).
79
+ * Use a mongoid observer and controller `around_filter` to pick up modifying user from controller - [@bensymonds](https://github.com/bensymonds).
80
+ * More flexible dependency on mongoid - [@sarcilav](https://github.com/sarcilav).
81
+ * Fix: tracking broken in a multithreaded environment - [@dblock](https://github.com/dblock).
82
+
83
+ 0.1.0 (5/13/2011)
84
+ -----------------
85
+
86
+ * Added support for `destroy` - [@dblock](https://github.com/dblock).
87
+ * Added undo and redo - [@aq1018](https://github.com/aq1018).
88
+ * Added support for temporarily disabling history tracking - [@aq1018](https://github.com/aq1018).
89
+ * Record modifier for undo and redo actions - [@aq1018](https://github.com/aq1018).
90
+
91
+ 0.0.1 (3/4/2011)
92
+ ----------------
93
+
94
+ * Intial public release - [@aq1018](https://github.com/aq1018).
data/Gemfile CHANGED
@@ -1,12 +1,16 @@
1
- source "http://rubygems.org"
2
-
3
- gem "easy_diff"
4
- gem "mongoid", "~> 3.0"
5
- gem "activesupport"
6
-
7
- group :test do
8
- gem "rspec", ">= 2.11.0"
9
- gem "yard"
10
- gem "bundler", ">= 1.0.0"
11
- gem "jeweler"
12
- end
1
+ source "http://rubygems.org"
2
+
3
+ gem "easy_diff"
4
+ gem "mongoid", ">= 3.0"
5
+ gem "activesupport"
6
+
7
+ group :test do
8
+ gem "rspec", ">= 2.11.0"
9
+ gem "bundler", ">= 1.0.0"
10
+ end
11
+
12
+ group :development do
13
+ gem 'rubocop', '~> 0.15.0'
14
+ gem "yard"
15
+ gem "jeweler"
16
+ end
data/LICENSE.txt CHANGED
@@ -1,20 +1,20 @@
1
- Copyright (c) 2011 Aaron Qian
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining
4
- a copy of this software and associated documentation files (the
5
- "Software"), to deal in the Software without restriction, including
6
- without limitation the rights to use, copy, modify, merge, publish,
7
- distribute, sublicense, and/or sell copies of the Software, and to
8
- permit persons to whom the Software is furnished to do so, subject to
9
- the following conditions:
10
-
11
- The above copyright notice and this permission notice shall be
12
- included in all copies or substantial portions of the Software.
13
-
14
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1
+ Copyright (c) 2011 Aaron Qian
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.