mongoid-versioning 0.2.0 → 1.0.0.beta1

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.
Files changed (58) hide show
  1. checksums.yaml +7 -0
  2. data/.travis.yml +20 -0
  3. data/CHANGELOG.md +3 -0
  4. data/Gemfile +2 -1
  5. data/README.md +2 -1
  6. data/Rakefile +3 -5
  7. data/gemfiles/mongoid_master.gemfile +8 -0
  8. data/lib/mongoid/config/locales/en.yml +11 -0
  9. data/lib/mongoid/core_ext/errors/versioning_not_on_root.rb +23 -0
  10. data/lib/mongoid/core_ext/fields/standard.rb +17 -0
  11. data/lib/mongoid/core_ext/fields/validators/macro.rb +11 -0
  12. data/lib/mongoid/core_ext/hierarchy.rb +25 -0
  13. data/lib/mongoid/core_ext/relations/bindings/embedded/many.rb +31 -0
  14. data/lib/mongoid/core_ext/relations/cascading.rb +23 -0
  15. data/lib/mongoid/core_ext/relations/embedded/batchable.rb +36 -0
  16. data/lib/mongoid/core_ext/relations/embedded/many.rb +24 -0
  17. data/lib/mongoid/core_ext/relations/macros.rb +39 -0
  18. data/lib/mongoid/core_ext/relations/metadata.rb +63 -0
  19. data/lib/mongoid/core_ext/relations/options.rb +9 -0
  20. data/lib/mongoid/core_ext/threaded/lifecycle.rb +37 -0
  21. data/lib/mongoid/core_ext/versioning.rb +218 -0
  22. data/lib/mongoid/versioning/version.rb +1 -1
  23. data/lib/mongoid/versioning.rb +16 -213
  24. data/mongoid-versioning.gemspec +2 -2
  25. data/spec/app/models/account.rb +0 -4
  26. data/spec/app/models/acolyte.rb +1 -1
  27. data/spec/app/models/address.rb +2 -2
  28. data/spec/app/models/appointment.rb +1 -1
  29. data/spec/app/models/article.rb +0 -3
  30. data/spec/app/models/building.rb +0 -2
  31. data/spec/app/models/building_address.rb +0 -2
  32. data/spec/app/models/contractor.rb +0 -2
  33. data/spec/app/models/dog.rb +1 -1
  34. data/spec/app/models/drug.rb +0 -2
  35. data/spec/app/models/event.rb +1 -1
  36. data/spec/app/models/game.rb +0 -2
  37. data/spec/app/models/house.rb +1 -2
  38. data/spec/app/models/item.rb +0 -4
  39. data/spec/app/models/name.rb +0 -2
  40. data/spec/app/models/paranoid_phone.rb +2 -0
  41. data/spec/app/models/paranoid_post.rb +3 -1
  42. data/spec/app/models/person.rb +3 -5
  43. data/spec/app/models/player.rb +2 -2
  44. data/spec/app/models/post.rb +2 -2
  45. data/spec/app/models/preference.rb +1 -1
  46. data/spec/app/models/quiz.rb +0 -3
  47. data/spec/app/models/registry.rb +1 -1
  48. data/spec/app/models/symptom.rb +1 -1
  49. data/spec/app/models/tree.rb +1 -1
  50. data/spec/app/models/video.rb +1 -5
  51. data/spec/app/models/wiki_page.rb +0 -2
  52. data/spec/config/mongoid.yml +0 -5
  53. data/spec/mongoid/errors/versioning_not_on_root_spec.rb +29 -0
  54. data/spec/mongoid/relations/macros_spec.rb +17 -0
  55. data/spec/mongoid/relations/metadata_spec.rb +50 -0
  56. data/spec/mongoid/versioning_spec.rb +2 -36
  57. data/spec/spec_helper.rb +4 -3
  58. metadata +44 -30
@@ -1,4 +1,4 @@
1
- require "spec_helper"
1
+ require_relative "../spec_helper"
2
2
 
3
3
  describe Mongoid::Versioning do
4
4
 
@@ -112,7 +112,7 @@ describe Mongoid::Versioning do
112
112
 
113
113
  before :all do
114
114
  class WikiPage
115
- default_scope where(author: "Jim")
115
+ default_scope -> { where(author: "Jim") }
116
116
  end
117
117
  end
118
118
 
@@ -503,38 +503,4 @@ describe Mongoid::Versioning do
503
503
  page.reload.child_pages.should eq([ child ])
504
504
  end
505
505
  end
506
-
507
- context "when the identity map is enabled" do
508
-
509
- before do
510
- Mongoid.identity_map_enabled = true
511
- end
512
-
513
- after do
514
- Mongoid.identity_map_enabled = false
515
- end
516
-
517
- context "when updating a loaded attribute" do
518
-
519
- let!(:page) do
520
- WikiPage.create(title: "first")
521
- end
522
-
523
- let!(:loaded) do
524
- WikiPage.find(page.id)
525
- end
526
-
527
- before do
528
- loaded.update_attribute(:title, "revised")
529
- end
530
-
531
- let(:reloaded) do
532
- WikiPage.find(page.id)
533
- end
534
-
535
- it "returns the revised im memory document" do
536
- reloaded.title.should eq("revised")
537
- end
538
- end
539
- end
540
506
  end
data/spec/spec_helper.rb CHANGED
@@ -7,6 +7,8 @@ $LOAD_PATH.unshift(MODELS)
7
7
  require "mongoid"
8
8
  require "rspec"
9
9
 
10
+ require "mongoid/versioning"
11
+
10
12
  # These environment variables can be set if wanting to test against a database
11
13
  # that is not on the local machine.
12
14
  ENV["MONGOID_SPEC_HOST"] ||= "localhost"
@@ -34,7 +36,7 @@ end
34
36
 
35
37
  # Set the database that the spec suite connects to.
36
38
  Mongoid.configure do |config|
37
- config.connect_to(database_id, consistency: :strong)
39
+ config.connect_to(database_id)
38
40
  end
39
41
 
40
42
  # Autoload every model for the test suite that sits in spec/app/models.
@@ -55,10 +57,9 @@ end
55
57
 
56
58
  RSpec.configure do |config|
57
59
 
58
- # Drop all collections and clear the identity map before each spec.
60
+ # Drop all collections before each spec.
59
61
  config.before(:each) do
60
62
  Mongoid.purge!
61
- Mongoid::IdentityMap.clear
62
63
  end
63
64
 
64
65
  # On travis we are creating many different databases on each test run. We
metadata CHANGED
@@ -1,48 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid-versioning
3
3
  version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 0.2.0
4
+ version: 1.0.0.beta1
6
5
  platform: ruby
7
6
  authors:
8
7
  - Mario Uher
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-05-11 00:00:00.000000000 Z
11
+ date: 2014-04-09 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- prerelease: false
16
- version_requirements: !ruby/object:Gem::Requirement
17
- requirements:
18
- - - ! '>='
19
- - !ruby/object:Gem::Version
20
- version: '3.0'
21
- none: false
22
- type: :runtime
23
14
  name: activesupport
24
15
  requirement: !ruby/object:Gem::Requirement
25
16
  requirements:
26
- - - ! '>='
17
+ - - ">="
27
18
  - !ruby/object:Gem::Version
28
- version: '3.0'
29
- none: false
30
- - !ruby/object:Gem::Dependency
19
+ version: '0'
20
+ type: :runtime
31
21
  prerelease: false
32
22
  version_requirements: !ruby/object:Gem::Requirement
33
23
  requirements:
34
- - - ~>
24
+ - - ">="
35
25
  - !ruby/object:Gem::Version
36
- version: '3.0'
37
- none: false
38
- type: :runtime
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
39
28
  name: mongoid
40
29
  requirement: !ruby/object:Gem::Requirement
41
30
  requirements:
42
- - - ~>
31
+ - - '='
43
32
  - !ruby/object:Gem::Version
44
- version: '3.0'
45
- none: false
33
+ version: 4.0.0.beta1
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '='
39
+ - !ruby/object:Gem::Version
40
+ version: 4.0.0.beta1
46
41
  description: Mongoid supports simple versioning through inclusion of the Mongoid::Versioning
47
42
  module.
48
43
  email: uher.mario@gmail.com
@@ -50,11 +45,27 @@ executables: []
50
45
  extensions: []
51
46
  extra_rdoc_files: []
52
47
  files:
53
- - .gitignore
48
+ - ".gitignore"
49
+ - ".travis.yml"
54
50
  - CHANGELOG.md
55
51
  - Gemfile
56
52
  - README.md
57
53
  - Rakefile
54
+ - gemfiles/mongoid_master.gemfile
55
+ - lib/mongoid/config/locales/en.yml
56
+ - lib/mongoid/core_ext/errors/versioning_not_on_root.rb
57
+ - lib/mongoid/core_ext/fields/standard.rb
58
+ - lib/mongoid/core_ext/fields/validators/macro.rb
59
+ - lib/mongoid/core_ext/hierarchy.rb
60
+ - lib/mongoid/core_ext/relations/bindings/embedded/many.rb
61
+ - lib/mongoid/core_ext/relations/cascading.rb
62
+ - lib/mongoid/core_ext/relations/embedded/batchable.rb
63
+ - lib/mongoid/core_ext/relations/embedded/many.rb
64
+ - lib/mongoid/core_ext/relations/macros.rb
65
+ - lib/mongoid/core_ext/relations/metadata.rb
66
+ - lib/mongoid/core_ext/relations/options.rb
67
+ - lib/mongoid/core_ext/threaded/lifecycle.rb
68
+ - lib/mongoid/core_ext/versioning.rb
58
69
  - lib/mongoid/versioning.rb
59
70
  - lib/mongoid/versioning/version.rb
60
71
  - mongoid-versioning.gemspec
@@ -242,30 +253,33 @@ files:
242
253
  - spec/app/models/word_origin.rb
243
254
  - spec/app/models/writer.rb
244
255
  - spec/config/mongoid.yml
256
+ - spec/mongoid/errors/versioning_not_on_root_spec.rb
257
+ - spec/mongoid/relations/macros_spec.rb
258
+ - spec/mongoid/relations/metadata_spec.rb
245
259
  - spec/mongoid/versioning_spec.rb
246
260
  - spec/spec_helper.rb
247
261
  homepage: https://github.com/haihappen/mongoid-versioning
248
262
  licenses: []
263
+ metadata: {}
249
264
  post_install_message:
250
265
  rdoc_options: []
251
266
  require_paths:
252
267
  - lib
253
268
  required_ruby_version: !ruby/object:Gem::Requirement
254
269
  requirements:
255
- - - ! '>='
270
+ - - ">="
256
271
  - !ruby/object:Gem::Version
257
272
  version: '0'
258
- none: false
259
273
  required_rubygems_version: !ruby/object:Gem::Requirement
260
274
  requirements:
261
- - - ! '>='
275
+ - - ">"
262
276
  - !ruby/object:Gem::Version
263
- version: '0'
264
- none: false
277
+ version: 1.3.1
265
278
  requirements: []
266
279
  rubyforge_project:
267
- rubygems_version: 1.8.25
280
+ rubygems_version: 2.2.0
268
281
  signing_key:
269
- specification_version: 3
282
+ specification_version: 4
270
283
  summary: Extraction of mongoid-versioning into its own gem.
271
284
  test_files: []
285
+ has_rdoc: