recorder 1.1.1 → 1.2.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1969c4224f9eb16b487f3d4bbf114a451dd880e3a89c09560549b10e7193c0e9
4
- data.tar.gz: 1275d6eb6da67a8994dea52d7570ba57dc17417b7601f5149e154eb934a26ca3
3
+ metadata.gz: 2e0c1a0c2e47411273ae9c9ac9a8e285138a9c1db2013c606a32749fc869f1ef
4
+ data.tar.gz: bbfa653c96171b63dfa0b974c59cf7d6fad3d59c9b7e6454cf1b9cacf64e16b7
5
5
  SHA512:
6
- metadata.gz: 99d3b65be9afcd6b395a3ec276368eebee82b1b7acae77e4f2a82ab40bc19144e7cd82499c484cd4daaa2f6225c8bd5b7234b430971e501c3362b6285e91dc94
7
- data.tar.gz: a31d6f4408307434d315b36ef9336b88b814bc75b406acbc25df318cc8b5843c37d9df29eaae94a8af34c20760ffe0d77f4e18941cb7b49ee503ee0041bc7b00
6
+ metadata.gz: 1607e4d11cdefe2dd50f8c7966018e4da2f068e894e148edf41b4e6816b720a1ec40a80b91c2a6c9095901bf610a99028f8c11c53dcb235340799067142b7bcd
7
+ data.tar.gz: 14f9ffe74d69077e3db56284e9dd15f7c304932de173eed0ffaceb85a3a5ea16fdcb71b74b0dc982afa1aabd0df73d8919deb782f7011313ccf2d2f8e958f925
data/Rakefile CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  require 'bundler/gem_tasks'
4
4
  require 'rspec/core/rake_task'
5
+ require 'rails/dummy/tasks'
5
6
 
6
7
  RSpec::Core::RakeTask.new(:spec)
7
8
 
@@ -5,6 +5,8 @@ module Recorder
5
5
  attr_reader :item, :changes
6
6
 
7
7
  def initialize(item, changes)
8
+ raise ArgumentError unless changes&.respond_to?(:to_h)
9
+
8
10
  @item = item
9
11
  @changes = changes.to_h
10
12
  end
@@ -10,18 +10,7 @@ module Recorder
10
10
  attr_reader :ignore, :async
11
11
 
12
12
  def initialize
13
- # Variables which affect all threads, whose access is synchronized.
14
- @mutex = Mutex.new
15
- @enabled = true
16
-
17
- @sidekiq_options = {
18
- queue: 'recorder',
19
- retry: 10,
20
- backtrace: true
21
- }
22
-
23
- @ignore = []
24
- @async = false
13
+ reset
25
14
  end
26
15
 
27
16
  def ignore=(value)
@@ -40,5 +29,19 @@ module Recorder
40
29
  def enabled=(enable)
41
30
  @mutex.synchronize { @enabled = enable }
42
31
  end
32
+
33
+ def reset
34
+ @mutex = Mutex.new
35
+ @enabled = true
36
+
37
+ @sidekiq_options = {
38
+ queue: 'recorder',
39
+ retry: 10,
40
+ backtrace: true
41
+ }
42
+
43
+ @ignore = []
44
+ @async = false
45
+ end
43
46
  end
44
47
  end
@@ -23,7 +23,7 @@ module Recorder
23
23
 
24
24
  module ClassMethods
25
25
  def recorder(options = {})
26
- define_method 'recorder_options' do
26
+ define_method :recorder_options do
27
27
  options
28
28
  end
29
29
 
@@ -82,11 +82,12 @@ module Recorder
82
82
 
83
83
  klass = "#{klass}Changeset"
84
84
 
85
- klass = begin
86
- klass.constantize
87
- rescue
88
- nil
89
- end
85
+ klass =
86
+ begin
87
+ klass.constantize
88
+ rescue
89
+ nil
90
+ end
90
91
  klass.present? ? klass : Recorder::Changeset
91
92
  end
92
93
  end
@@ -7,7 +7,7 @@ module Recorder
7
7
 
8
8
  sidekiq_options Recorder.config.sidekiq_options
9
9
 
10
- def perform(params)
10
+ def perform(**params)
11
11
  Recorder::Revision.create(params)
12
12
  end
13
13
  end
@@ -61,7 +61,7 @@ module Recorder
61
61
  options[:associations].each_with_object({}) do |(association, options), hash|
62
62
  name, data = parse_association(event, association, options)
63
63
 
64
- hash[name] = data if data.any?
64
+ hash[name] = data if data&.any?
65
65
  end
66
66
  end
67
67
 
@@ -31,7 +31,7 @@ module Recorder
31
31
  def record_async(params, options)
32
32
  Recorder::Sidekiq::RevisionsWorker.perform_in(
33
33
  options[:delay] || 2.seconds,
34
- params
34
+ **params
35
35
  )
36
36
  end
37
37
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Recorder
4
- VERSION = '1.1.1'
4
+ VERSION = '1.2.1'
5
5
  end
data/recorder.gemspec CHANGED
@@ -8,7 +8,7 @@ Gem::Specification.new do |spec|
8
8
  spec.name = 'recorder'
9
9
  spec.version = Recorder::VERSION
10
10
  spec.authors = ['Igor Alexandrov']
11
- spec.email = ['igor.alexandrov@jetrockets.ru']
11
+ spec.email = ['igor.alexandrov@jetrockets.com']
12
12
 
13
13
  spec.summary = 'Rails model auditor'
14
14
  spec.description = 'Recorder tracks changes of your Rails models'
@@ -20,17 +20,18 @@ Gem::Specification.new do |spec|
20
20
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
21
  spec.require_paths = ['lib']
22
22
 
23
- spec.add_dependency 'activerecord', '>= 5.0'
24
- spec.add_dependency 'activesupport', '>= 5.0'
23
+ spec.add_dependency 'activerecord', '~> 6.1'
24
+ spec.add_dependency 'activesupport', '~> 6.1'
25
25
  spec.add_dependency 'pg'
26
26
  spec.add_dependency 'request_store'
27
27
 
28
28
  spec.add_development_dependency 'bundler', '>= 2.0'
29
- spec.add_development_dependency 'database_cleaner'
29
+ # spec.add_development_dependency 'database_cleaner'
30
30
  spec.add_development_dependency 'generator_spec'
31
31
  spec.add_development_dependency 'jetrockets-standard'
32
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'
35
- spec.add_development_dependency 'yard'
33
+ spec.add_development_dependency 'rspec-rails'
34
+ # spec.add_development_dependency 'timecop', '~> 0.8.1'
35
+ # spec.add_development_dependency 'yard'
36
+ spec.add_development_dependency 'rails-dummy'
36
37
  end
metadata CHANGED
@@ -1,43 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: recorder
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor Alexandrov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-09-13 00:00:00.000000000 Z
11
+ date: 2022-11-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '5.0'
19
+ version: '6.1'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '5.0'
26
+ version: '6.1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activesupport
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '5.0'
33
+ version: '6.1'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '5.0'
40
+ version: '6.1'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: pg
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -80,20 +80,6 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '2.0'
83
- - !ruby/object:Gem::Dependency
84
- name: database_cleaner
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
83
  - !ruby/object:Gem::Dependency
98
84
  name: generator_spec
99
85
  requirement: !ruby/object:Gem::Requirement
@@ -140,32 +126,18 @@ dependencies:
140
126
  name: rspec-rails
141
127
  requirement: !ruby/object:Gem::Requirement
142
128
  requirements:
143
- - - "~>"
144
- - !ruby/object:Gem::Version
145
- version: '3.5'
146
- type: :development
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - "~>"
151
- - !ruby/object:Gem::Version
152
- version: '3.5'
153
- - !ruby/object:Gem::Dependency
154
- name: timecop
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - "~>"
129
+ - - ">="
158
130
  - !ruby/object:Gem::Version
159
- version: 0.8.1
131
+ version: '0'
160
132
  type: :development
161
133
  prerelease: false
162
134
  version_requirements: !ruby/object:Gem::Requirement
163
135
  requirements:
164
- - - "~>"
136
+ - - ">="
165
137
  - !ruby/object:Gem::Version
166
- version: 0.8.1
138
+ version: '0'
167
139
  - !ruby/object:Gem::Dependency
168
- name: yard
140
+ name: rails-dummy
169
141
  requirement: !ruby/object:Gem::Requirement
170
142
  requirements:
171
143
  - - ">="
@@ -180,7 +152,7 @@ dependencies:
180
152
  version: '0'
181
153
  description: Recorder tracks changes of your Rails models
182
154
  email:
183
- - igor.alexandrov@jetrockets.ru
155
+ - igor.alexandrov@jetrockets.com
184
156
  executables: []
185
157
  extensions: []
186
158
  extra_rdoc_files: []
@@ -234,7 +206,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
234
206
  - !ruby/object:Gem::Version
235
207
  version: '0'
236
208
  requirements: []
237
- rubygems_version: 3.2.15
209
+ rubygems_version: 3.3.7
238
210
  signing_key:
239
211
  specification_version: 4
240
212
  summary: Rails model auditor