mongo_trails 10.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +7 -0
  2. data/.gitattributes +2 -0
  3. data/.gitignore +1 -0
  4. data/.travis.yml +13 -0
  5. data/Appraisals +7 -0
  6. data/Gemfile +7 -0
  7. data/Gemfile.lock +62 -0
  8. data/LICENSE +20 -0
  9. data/README.md +36 -0
  10. data/Rakefile +13 -0
  11. data/gemfiles/rails_5.gemfile +9 -0
  12. data/gemfiles/rails_5.gemfile.lock +63 -0
  13. data/gemfiles/rails_6.gemfile +9 -0
  14. data/gemfiles/rails_6.gemfile.lock +63 -0
  15. data/lib/mongo_trails.rb +154 -0
  16. data/lib/mongo_trails/attribute_serializers/README.md +10 -0
  17. data/lib/mongo_trails/attribute_serializers/attribute_serializer_factory.rb +27 -0
  18. data/lib/mongo_trails/attribute_serializers/cast_attribute_serializer.rb +51 -0
  19. data/lib/mongo_trails/attribute_serializers/object_attribute.rb +41 -0
  20. data/lib/mongo_trails/attribute_serializers/object_changes_attribute.rb +44 -0
  21. data/lib/mongo_trails/cleaner.rb +60 -0
  22. data/lib/mongo_trails/compatibility.rb +51 -0
  23. data/lib/mongo_trails/config.rb +41 -0
  24. data/lib/mongo_trails/events/base.rb +323 -0
  25. data/lib/mongo_trails/events/create.rb +32 -0
  26. data/lib/mongo_trails/events/destroy.rb +42 -0
  27. data/lib/mongo_trails/events/update.rb +60 -0
  28. data/lib/mongo_trails/frameworks/cucumber.rb +33 -0
  29. data/lib/mongo_trails/frameworks/rails.rb +4 -0
  30. data/lib/mongo_trails/frameworks/rails/controller.rb +109 -0
  31. data/lib/mongo_trails/frameworks/rails/engine.rb +43 -0
  32. data/lib/mongo_trails/frameworks/rspec.rb +43 -0
  33. data/lib/mongo_trails/frameworks/rspec/helpers.rb +29 -0
  34. data/lib/mongo_trails/has_paper_trail.rb +86 -0
  35. data/lib/mongo_trails/model_config.rb +249 -0
  36. data/lib/mongo_trails/mongo_support/config.rb +9 -0
  37. data/lib/mongo_trails/mongo_support/version.rb +56 -0
  38. data/lib/mongo_trails/queries/versions/where_object.rb +65 -0
  39. data/lib/mongo_trails/queries/versions/where_object_changes.rb +75 -0
  40. data/lib/mongo_trails/record_history.rb +51 -0
  41. data/lib/mongo_trails/record_trail.rb +304 -0
  42. data/lib/mongo_trails/reifier.rb +130 -0
  43. data/lib/mongo_trails/request.rb +166 -0
  44. data/lib/mongo_trails/serializers/json.rb +46 -0
  45. data/lib/mongo_trails/serializers/yaml.rb +43 -0
  46. data/lib/mongo_trails/type_serializers/postgres_array_serializer.rb +48 -0
  47. data/lib/mongo_trails/version_concern.rb +336 -0
  48. data/lib/mongo_trails/version_number.rb +23 -0
  49. data/mongo_trails.gemspec +38 -0
  50. metadata +180 -0
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PaperTrail
4
+ # The version number of the paper_trail gem. Not to be confused with
5
+ # `PaperTrail::Version`. Ruby constants are case-sensitive, apparently,
6
+ # and they are two different modules! It would be nice to remove `VERSION`,
7
+ # because of this confusion, but it's not worth the breaking change.
8
+ # People are encouraged to use `PaperTrail.gem_version` instead.
9
+ module VERSION
10
+ MAJOR = 10
11
+ MINOR = 3
12
+ TINY = 1
13
+
14
+ # Set PRE to nil unless it's a pre-release (beta, rc, etc.)
15
+ PRE = nil
16
+
17
+ STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".").freeze
18
+
19
+ def self.to_s
20
+ STRING
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.unshift File.expand_path("lib", __dir__)
4
+
5
+ require "mongo_trails/compatibility"
6
+ require "mongo_trails/version_number"
7
+
8
+ Gem::Specification.new do |s|
9
+ s.name = "mongo_trails"
10
+ s.version = PaperTrail::VERSION::STRING
11
+ s.platform = Gem::Platform::RUBY
12
+ s.summary = "PaperTrail DropIn replacement to store versions in MongoDB"
13
+ s.description = <<-EOS
14
+ PaperTrail DropIn replacement to store version in MongoDB
15
+ EOS
16
+ s.homepage = "https://github.com/noma4i/mongo_trails"
17
+ s.metadata['homepage_uri'] = s.homepage
18
+ s.metadata['source_code_uri'] = s.homepage
19
+ s.authors = ["Alex Tsirel","Ivan Romanyuk"]
20
+ s.email = ["noma4i@gmail.com"]
21
+ s.license = "MIT"
22
+
23
+ s.files = Dir.chdir(File.expand_path(__dir__)) do
24
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
25
+ end
26
+
27
+ s.bindir = 'exe'
28
+ s.executables = s.files.grep(%r{^exe/}) { |f| File.basename(f) }
29
+ s.require_paths = ['lib']
30
+
31
+ s.add_dependency "activerecord", ::PaperTrail::Compatibility::ACTIVERECORD_GTE
32
+ s.add_dependency "request_store", "~> 1.1"
33
+ s.add_dependency "mongoid", "< 8"
34
+ s.add_dependency "mongoid-autoinc", "< 7"
35
+
36
+ s.add_development_dependency 'sqlite3', '~> 1.4'
37
+ s.add_development_dependency 'appraisal', '~> 2.3'
38
+ end
metadata ADDED
@@ -0,0 +1,180 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mongo_trails
3
+ version: !ruby/object:Gem::Version
4
+ version: 10.3.1
5
+ platform: ruby
6
+ authors:
7
+ - Alex Tsirel
8
+ - Ivan Romanyuk
9
+ autorequire:
10
+ bindir: exe
11
+ cert_chain: []
12
+ date: 2020-08-29 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: activerecord
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: '5.2'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: '5.2'
28
+ - !ruby/object:Gem::Dependency
29
+ name: request_store
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: '1.1'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: '1.1'
42
+ - !ruby/object:Gem::Dependency
43
+ name: mongoid
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "<"
47
+ - !ruby/object:Gem::Version
48
+ version: '8'
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "<"
54
+ - !ruby/object:Gem::Version
55
+ version: '8'
56
+ - !ruby/object:Gem::Dependency
57
+ name: mongoid-autoinc
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "<"
61
+ - !ruby/object:Gem::Version
62
+ version: '7'
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "<"
68
+ - !ruby/object:Gem::Version
69
+ version: '7'
70
+ - !ruby/object:Gem::Dependency
71
+ name: sqlite3
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: '1.4'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: '1.4'
84
+ - !ruby/object:Gem::Dependency
85
+ name: appraisal
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - "~>"
89
+ - !ruby/object:Gem::Version
90
+ version: '2.3'
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - "~>"
96
+ - !ruby/object:Gem::Version
97
+ version: '2.3'
98
+ description: 'PaperTrail DropIn replacement to store version in MongoDB
99
+
100
+ '
101
+ email:
102
+ - noma4i@gmail.com
103
+ executables: []
104
+ extensions: []
105
+ extra_rdoc_files: []
106
+ files:
107
+ - ".gitattributes"
108
+ - ".gitignore"
109
+ - ".travis.yml"
110
+ - Appraisals
111
+ - Gemfile
112
+ - Gemfile.lock
113
+ - LICENSE
114
+ - README.md
115
+ - Rakefile
116
+ - gemfiles/rails_5.gemfile
117
+ - gemfiles/rails_5.gemfile.lock
118
+ - gemfiles/rails_6.gemfile
119
+ - gemfiles/rails_6.gemfile.lock
120
+ - lib/mongo_trails.rb
121
+ - lib/mongo_trails/attribute_serializers/README.md
122
+ - lib/mongo_trails/attribute_serializers/attribute_serializer_factory.rb
123
+ - lib/mongo_trails/attribute_serializers/cast_attribute_serializer.rb
124
+ - lib/mongo_trails/attribute_serializers/object_attribute.rb
125
+ - lib/mongo_trails/attribute_serializers/object_changes_attribute.rb
126
+ - lib/mongo_trails/cleaner.rb
127
+ - lib/mongo_trails/compatibility.rb
128
+ - lib/mongo_trails/config.rb
129
+ - lib/mongo_trails/events/base.rb
130
+ - lib/mongo_trails/events/create.rb
131
+ - lib/mongo_trails/events/destroy.rb
132
+ - lib/mongo_trails/events/update.rb
133
+ - lib/mongo_trails/frameworks/cucumber.rb
134
+ - lib/mongo_trails/frameworks/rails.rb
135
+ - lib/mongo_trails/frameworks/rails/controller.rb
136
+ - lib/mongo_trails/frameworks/rails/engine.rb
137
+ - lib/mongo_trails/frameworks/rspec.rb
138
+ - lib/mongo_trails/frameworks/rspec/helpers.rb
139
+ - lib/mongo_trails/has_paper_trail.rb
140
+ - lib/mongo_trails/model_config.rb
141
+ - lib/mongo_trails/mongo_support/config.rb
142
+ - lib/mongo_trails/mongo_support/version.rb
143
+ - lib/mongo_trails/queries/versions/where_object.rb
144
+ - lib/mongo_trails/queries/versions/where_object_changes.rb
145
+ - lib/mongo_trails/record_history.rb
146
+ - lib/mongo_trails/record_trail.rb
147
+ - lib/mongo_trails/reifier.rb
148
+ - lib/mongo_trails/request.rb
149
+ - lib/mongo_trails/serializers/json.rb
150
+ - lib/mongo_trails/serializers/yaml.rb
151
+ - lib/mongo_trails/type_serializers/postgres_array_serializer.rb
152
+ - lib/mongo_trails/version_concern.rb
153
+ - lib/mongo_trails/version_number.rb
154
+ - mongo_trails.gemspec
155
+ homepage: https://github.com/noma4i/mongo_trails
156
+ licenses:
157
+ - MIT
158
+ metadata:
159
+ homepage_uri: https://github.com/noma4i/mongo_trails
160
+ source_code_uri: https://github.com/noma4i/mongo_trails
161
+ post_install_message:
162
+ rdoc_options: []
163
+ require_paths:
164
+ - lib
165
+ required_ruby_version: !ruby/object:Gem::Requirement
166
+ requirements:
167
+ - - ">="
168
+ - !ruby/object:Gem::Version
169
+ version: '0'
170
+ required_rubygems_version: !ruby/object:Gem::Requirement
171
+ requirements:
172
+ - - ">="
173
+ - !ruby/object:Gem::Version
174
+ version: '0'
175
+ requirements: []
176
+ rubygems_version: 3.0.8
177
+ signing_key:
178
+ specification_version: 4
179
+ summary: PaperTrail DropIn replacement to store versions in MongoDB
180
+ test_files: []