recorder 0.1.20 → 1.1.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 +5 -5
- data/.gitignore +4 -0
- data/.rubocop.yml +27 -0
- data/Gemfile +2 -0
- data/README.md +33 -3
- data/Rakefile +5 -3
- data/bin/console +4 -3
- data/lib/generators/recorder/install_generator.rb +14 -12
- data/lib/generators/recorder/templates/add_index_by_user_id_to_recorder_revisions.rb +2 -0
- data/lib/generators/recorder/templates/add_number_column_to_recorder_revisions.rb +23 -21
- data/lib/generators/recorder/templates/create_recorder_revisions.rb +4 -2
- data/lib/recorder/changeset.rb +14 -12
- data/lib/recorder/config.rb +13 -5
- data/lib/recorder/manager.rb +18 -0
- data/lib/recorder/observer.rb +11 -18
- data/lib/recorder/rails/controller_concern.rb +10 -7
- data/lib/recorder/rails/railtie.rb +8 -4
- data/lib/recorder/revision.rb +75 -54
- data/lib/recorder/sidekiq/revisions_worker.rb +4 -2
- data/lib/recorder/store.rb +36 -0
- data/lib/recorder/tape/data.rb +83 -0
- data/lib/recorder/tape/record.rb +39 -0
- data/lib/recorder/tape.rb +32 -79
- data/lib/recorder/version.rb +3 -13
- data/lib/recorder.rb +14 -10
- data/recorder.gemspec +24 -23
- metadata +40 -49
data/lib/recorder/version.rb
CHANGED
@@ -1,15 +1,5 @@
|
|
1
|
-
|
2
|
-
# :nodoc:
|
3
|
-
module VERSION
|
4
|
-
MAJOR = 0
|
5
|
-
MINOR = 1
|
6
|
-
PATCH = 20
|
7
|
-
PRE = nil
|
8
|
-
|
9
|
-
STRING = [MAJOR, MINOR, PATCH, PRE].compact.join(".").freeze
|
1
|
+
# frozen_string_literal: true
|
10
2
|
|
11
|
-
|
12
|
-
|
13
|
-
end
|
14
|
-
end
|
3
|
+
module Recorder
|
4
|
+
VERSION = '1.1.0'
|
15
5
|
end
|
data/lib/recorder.rb
CHANGED
@@ -1,12 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'recorder/config'
|
2
4
|
require 'recorder/version'
|
5
|
+
|
3
6
|
require 'recorder/changeset'
|
7
|
+
require 'recorder/store'
|
8
|
+
require 'recorder/manager'
|
4
9
|
require 'recorder/observer'
|
10
|
+
|
5
11
|
require 'recorder/rails/controller_concern'
|
6
12
|
require 'recorder/rails/railtie' if defined? ::Rails::Railtie
|
7
13
|
|
8
|
-
require 'request_store'
|
9
|
-
|
10
14
|
module Recorder
|
11
15
|
class << self
|
12
16
|
# Switches Recorder on or off.
|
@@ -25,13 +29,13 @@ module Recorder
|
|
25
29
|
# Sets Recorder information from the controller.
|
26
30
|
# @api public
|
27
31
|
def info=(hash)
|
28
|
-
|
32
|
+
store.params.merge!(hash)
|
29
33
|
end
|
30
34
|
|
31
35
|
# Sets Recorder meta information.
|
32
36
|
# @api public
|
33
37
|
def meta=(hash)
|
34
|
-
|
38
|
+
store.params[:meta] = hash
|
35
39
|
end
|
36
40
|
|
37
41
|
# Returns a boolean indicating whether "protected attibutes" should be
|
@@ -48,15 +52,15 @@ module Recorder
|
|
48
52
|
@config
|
49
53
|
end
|
50
54
|
|
51
|
-
# Returns version of Recorder as +String+
|
52
|
-
def version
|
53
|
-
VERSION::STRING
|
54
|
-
end
|
55
|
-
|
56
55
|
# Thread-safe hash to hold Recorder's data.
|
57
56
|
# @api private
|
58
57
|
def store
|
59
|
-
|
58
|
+
@store ||= Recorder::Store.new
|
59
|
+
end
|
60
|
+
|
61
|
+
# Returns version of Recorder as +String+
|
62
|
+
def version
|
63
|
+
VERSION::STRING
|
60
64
|
end
|
61
65
|
end
|
62
66
|
end
|
data/recorder.gemspec
CHANGED
@@ -1,35 +1,36 @@
|
|
1
|
-
#
|
2
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
lib = File.expand_path('lib', __dir__)
|
3
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
5
|
require 'recorder/version'
|
5
6
|
|
6
7
|
Gem::Specification.new do |spec|
|
7
|
-
spec.name
|
8
|
-
spec.version
|
9
|
-
spec.authors
|
10
|
-
spec.email
|
8
|
+
spec.name = 'recorder'
|
9
|
+
spec.version = Recorder::VERSION
|
10
|
+
spec.authors = ['Igor Alexandrov']
|
11
|
+
spec.email = ['igor.alexandrov@jetrockets.ru']
|
11
12
|
|
12
|
-
spec.summary
|
13
|
-
spec.description
|
14
|
-
spec.homepage
|
15
|
-
spec.license
|
13
|
+
spec.summary = 'Rails model auditor'
|
14
|
+
spec.description = 'Recorder tracks changes of your Rails models'
|
15
|
+
spec.homepage = 'https://github.com/jetrockets/recorder'
|
16
|
+
spec.license = 'MIT'
|
16
17
|
|
17
|
-
spec.files
|
18
|
-
spec.bindir
|
19
|
-
spec.executables
|
20
|
-
spec.require_paths = [
|
18
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
19
|
+
spec.bindir = 'exe'
|
20
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
21
|
+
spec.require_paths = ['lib']
|
21
22
|
|
22
|
-
spec.add_dependency 'activerecord', '>=
|
23
|
-
spec.add_dependency 'activesupport', '>=
|
24
|
-
spec.add_dependency 'request_store'
|
23
|
+
spec.add_dependency 'activerecord', '>= 5.0'
|
24
|
+
spec.add_dependency 'activesupport', '>= 5.0'
|
25
25
|
spec.add_dependency 'pg'
|
26
|
+
spec.add_dependency 'request_store'
|
26
27
|
|
27
|
-
spec.add_development_dependency 'bundler',
|
28
|
-
spec.add_development_dependency 'rake', "~> 10.0"
|
29
|
-
spec.add_development_dependency 'rspec-rails', "~> 3.5"
|
30
|
-
spec.add_development_dependency 'generator_spec'
|
28
|
+
spec.add_development_dependency 'bundler', '>= 2.0'
|
31
29
|
spec.add_development_dependency 'database_cleaner'
|
32
|
-
spec.add_development_dependency '
|
33
|
-
spec.add_development_dependency '
|
30
|
+
spec.add_development_dependency 'generator_spec'
|
31
|
+
spec.add_development_dependency 'jetrockets-standard'
|
32
|
+
spec.add_development_dependency 'rake', '~> 13.0'
|
33
|
+
spec.add_development_dependency 'rspec-rails', '~> 3.5'
|
34
|
+
spec.add_development_dependency 'timecop', '~> 0.8.1'
|
34
35
|
spec.add_development_dependency 'yard'
|
35
36
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: recorder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Igor Alexandrov
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-09-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -16,42 +16,30 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
20
|
-
- - "<"
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: '5.1'
|
19
|
+
version: '5.0'
|
23
20
|
type: :runtime
|
24
21
|
prerelease: false
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
26
23
|
requirements:
|
27
24
|
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: '
|
30
|
-
- - "<"
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: '5.1'
|
26
|
+
version: '5.0'
|
33
27
|
- !ruby/object:Gem::Dependency
|
34
28
|
name: activesupport
|
35
29
|
requirement: !ruby/object:Gem::Requirement
|
36
30
|
requirements:
|
37
31
|
- - ">="
|
38
32
|
- !ruby/object:Gem::Version
|
39
|
-
version: '
|
40
|
-
- - "<"
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
version: '5.1'
|
33
|
+
version: '5.0'
|
43
34
|
type: :runtime
|
44
35
|
prerelease: false
|
45
36
|
version_requirements: !ruby/object:Gem::Requirement
|
46
37
|
requirements:
|
47
38
|
- - ">="
|
48
39
|
- !ruby/object:Gem::Version
|
49
|
-
version: '
|
50
|
-
- - "<"
|
51
|
-
- !ruby/object:Gem::Version
|
52
|
-
version: '5.1'
|
40
|
+
version: '5.0'
|
53
41
|
- !ruby/object:Gem::Dependency
|
54
|
-
name:
|
42
|
+
name: pg
|
55
43
|
requirement: !ruby/object:Gem::Requirement
|
56
44
|
requirements:
|
57
45
|
- - ">="
|
@@ -65,7 +53,7 @@ dependencies:
|
|
65
53
|
- !ruby/object:Gem::Version
|
66
54
|
version: '0'
|
67
55
|
- !ruby/object:Gem::Dependency
|
68
|
-
name:
|
56
|
+
name: request_store
|
69
57
|
requirement: !ruby/object:Gem::Requirement
|
70
58
|
requirements:
|
71
59
|
- - ">="
|
@@ -82,46 +70,46 @@ dependencies:
|
|
82
70
|
name: bundler
|
83
71
|
requirement: !ruby/object:Gem::Requirement
|
84
72
|
requirements:
|
85
|
-
- - "
|
73
|
+
- - ">="
|
86
74
|
- !ruby/object:Gem::Version
|
87
|
-
version: '
|
75
|
+
version: '2.0'
|
88
76
|
type: :development
|
89
77
|
prerelease: false
|
90
78
|
version_requirements: !ruby/object:Gem::Requirement
|
91
79
|
requirements:
|
92
|
-
- - "
|
80
|
+
- - ">="
|
93
81
|
- !ruby/object:Gem::Version
|
94
|
-
version: '
|
82
|
+
version: '2.0'
|
95
83
|
- !ruby/object:Gem::Dependency
|
96
|
-
name:
|
84
|
+
name: database_cleaner
|
97
85
|
requirement: !ruby/object:Gem::Requirement
|
98
86
|
requirements:
|
99
|
-
- - "
|
87
|
+
- - ">="
|
100
88
|
- !ruby/object:Gem::Version
|
101
|
-
version: '
|
89
|
+
version: '0'
|
102
90
|
type: :development
|
103
91
|
prerelease: false
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
105
93
|
requirements:
|
106
|
-
- - "
|
94
|
+
- - ">="
|
107
95
|
- !ruby/object:Gem::Version
|
108
|
-
version: '
|
96
|
+
version: '0'
|
109
97
|
- !ruby/object:Gem::Dependency
|
110
|
-
name:
|
98
|
+
name: generator_spec
|
111
99
|
requirement: !ruby/object:Gem::Requirement
|
112
100
|
requirements:
|
113
|
-
- - "
|
101
|
+
- - ">="
|
114
102
|
- !ruby/object:Gem::Version
|
115
|
-
version: '
|
103
|
+
version: '0'
|
116
104
|
type: :development
|
117
105
|
prerelease: false
|
118
106
|
version_requirements: !ruby/object:Gem::Requirement
|
119
107
|
requirements:
|
120
|
-
- - "
|
108
|
+
- - ">="
|
121
109
|
- !ruby/object:Gem::Version
|
122
|
-
version: '
|
110
|
+
version: '0'
|
123
111
|
- !ruby/object:Gem::Dependency
|
124
|
-
name:
|
112
|
+
name: jetrockets-standard
|
125
113
|
requirement: !ruby/object:Gem::Requirement
|
126
114
|
requirements:
|
127
115
|
- - ">="
|
@@ -135,33 +123,33 @@ dependencies:
|
|
135
123
|
- !ruby/object:Gem::Version
|
136
124
|
version: '0'
|
137
125
|
- !ruby/object:Gem::Dependency
|
138
|
-
name:
|
126
|
+
name: rake
|
139
127
|
requirement: !ruby/object:Gem::Requirement
|
140
128
|
requirements:
|
141
|
-
- - "
|
129
|
+
- - "~>"
|
142
130
|
- !ruby/object:Gem::Version
|
143
|
-
version: '0'
|
131
|
+
version: '13.0'
|
144
132
|
type: :development
|
145
133
|
prerelease: false
|
146
134
|
version_requirements: !ruby/object:Gem::Requirement
|
147
135
|
requirements:
|
148
|
-
- - "
|
136
|
+
- - "~>"
|
149
137
|
- !ruby/object:Gem::Version
|
150
|
-
version: '0'
|
138
|
+
version: '13.0'
|
151
139
|
- !ruby/object:Gem::Dependency
|
152
|
-
name:
|
140
|
+
name: rspec-rails
|
153
141
|
requirement: !ruby/object:Gem::Requirement
|
154
142
|
requirements:
|
155
143
|
- - "~>"
|
156
144
|
- !ruby/object:Gem::Version
|
157
|
-
version:
|
145
|
+
version: '3.5'
|
158
146
|
type: :development
|
159
147
|
prerelease: false
|
160
148
|
version_requirements: !ruby/object:Gem::Requirement
|
161
149
|
requirements:
|
162
150
|
- - "~>"
|
163
151
|
- !ruby/object:Gem::Version
|
164
|
-
version:
|
152
|
+
version: '3.5'
|
165
153
|
- !ruby/object:Gem::Dependency
|
166
154
|
name: timecop
|
167
155
|
requirement: !ruby/object:Gem::Requirement
|
@@ -199,6 +187,7 @@ extra_rdoc_files: []
|
|
199
187
|
files:
|
200
188
|
- ".gitignore"
|
201
189
|
- ".rspec"
|
190
|
+
- ".rubocop.yml"
|
202
191
|
- ".travis.yml"
|
203
192
|
- Gemfile
|
204
193
|
- LICENSE.txt
|
@@ -214,19 +203,23 @@ files:
|
|
214
203
|
- lib/recorder.rb
|
215
204
|
- lib/recorder/changeset.rb
|
216
205
|
- lib/recorder/config.rb
|
206
|
+
- lib/recorder/manager.rb
|
217
207
|
- lib/recorder/observer.rb
|
218
208
|
- lib/recorder/rails/controller_concern.rb
|
219
209
|
- lib/recorder/rails/railtie.rb
|
220
210
|
- lib/recorder/revision.rb
|
221
211
|
- lib/recorder/sidekiq/revisions_worker.rb
|
212
|
+
- lib/recorder/store.rb
|
222
213
|
- lib/recorder/tape.rb
|
214
|
+
- lib/recorder/tape/data.rb
|
215
|
+
- lib/recorder/tape/record.rb
|
223
216
|
- lib/recorder/version.rb
|
224
217
|
- recorder.gemspec
|
225
218
|
homepage: https://github.com/jetrockets/recorder
|
226
219
|
licenses:
|
227
220
|
- MIT
|
228
221
|
metadata: {}
|
229
|
-
post_install_message:
|
222
|
+
post_install_message:
|
230
223
|
rdoc_options: []
|
231
224
|
require_paths:
|
232
225
|
- lib
|
@@ -241,10 +234,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
241
234
|
- !ruby/object:Gem::Version
|
242
235
|
version: '0'
|
243
236
|
requirements: []
|
244
|
-
|
245
|
-
|
246
|
-
signing_key:
|
237
|
+
rubygems_version: 3.2.15
|
238
|
+
signing_key:
|
247
239
|
specification_version: 4
|
248
240
|
summary: Rails model auditor
|
249
241
|
test_files: []
|
250
|
-
has_rdoc:
|