acts_as_scrubbable 1.2.1 → 1.4.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 98b03e06478fe5c46d1be95047d60b28b91f3e21699743940e18ae0ee6ac8075
4
- data.tar.gz: 28e6b08a628f43b121b4419b1571466f4810c9ad619849ce8f1b7bdc7700a658
3
+ metadata.gz: 8d5dd99dfeaccd8c11b9eb2125c5dc9e16aba2f8f5d02eb5fc9fba59d7c36f02
4
+ data.tar.gz: 3551737a717372941339f0a81e95f6142a87a1ebb006437465d458c0fee0ea07
5
5
  SHA512:
6
- metadata.gz: 74246e4b9ea4209288e2709cf86a0b35e8d5f4abc1f7548c6a5cac4d628fbfc11c1d5a69c61d2de357748e4b6157a107ad7bc34551c3734f9d1630f62b0986e2
7
- data.tar.gz: 4c5407c1f0689663ff28562880784b89442f1bce5d0cdb26e9ae0c089d4a0435ac516b692399dd8eb4cf15a115c771545bad2367aa75a8b0e9b727e6dcc43fe6
6
+ metadata.gz: eca9d4ca0de33ea806a4e8c28e7eb97d832c9859ee00f984342d6b041aa31393742942ebee345123459f484fd1a7f157164115afbf5e67070df2c990e9bc5d2d
7
+ data.tar.gz: be3873e9f173fbf7058aa0c5328397465264117f627afbfdd92f527a5f8a7f1e637722b13e2be9d4dce9adf3133182c93c988f324cf3e046c8a0382a015dd891
data/.travis.yml CHANGED
@@ -1,7 +1,7 @@
1
1
  language: ruby
2
2
 
3
3
  rvm:
4
- - 2.4.3
4
+ - 2.7.2
5
5
 
6
6
  script:
7
7
  - bundle exec rspec
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
+ ruby '2.7.2'
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  gemspec
@@ -13,9 +13,9 @@ Gem::Specification.new do |s|
13
13
  s.license = "MIT"
14
14
  s.required_ruby_version = '~> 2.0'
15
15
 
16
- s.add_runtime_dependency 'activesupport' , '>= 4.1', '< 6'
17
- s.add_runtime_dependency 'activerecord' , '>= 4.1', '< 6'
18
- s.add_runtime_dependency 'railties' , '>= 4.1', '< 6'
16
+ s.add_runtime_dependency 'activesupport' , '>= 4.1', '< 8'
17
+ s.add_runtime_dependency 'activerecord' , '>= 4.1', '< 8'
18
+ s.add_runtime_dependency 'railties' , '>= 4.1', '< 8'
19
19
  s.add_runtime_dependency 'faker' , '>= 1.4'
20
20
  s.add_runtime_dependency 'highline' , '>= 1.7'
21
21
  s.add_runtime_dependency 'term-ansicolor' , '>= 1.3'
@@ -49,18 +49,29 @@ module ActsAsScrubbable
49
49
  ar_classes << ar_class
50
50
  end
51
51
 
52
- def scrub(num_of_batches: nil)
52
+ def scrub(num_of_batches: nil, skip_before_hooks: false, skip_after_hooks: false)
53
+ before_hooks unless skip_before_hooks
54
+
53
55
  Parallel.each(ar_classes) do |ar_class|
54
56
  ActsAsScrubbable::ArClassProcessor.new(ar_class).process(num_of_batches)
55
57
  end
56
58
  ActiveRecord::Base.connection.verify!
59
+
60
+ after_hooks unless skip_after_hooks
61
+ end
62
+
63
+ def before_hooks
64
+ return if ENV["SKIP_BEFOREHOOK"]
65
+
66
+ ActsAsScrubbable.logger.info Term::ANSIColor.red("Running before hook")
67
+ ActsAsScrubbable.execute_before_hook
57
68
  end
58
69
 
59
70
  def after_hooks
60
- if ENV["SKIP_AFTERHOOK"].blank?
61
- ActsAsScrubbable.logger.info Term::ANSIColor.red("Running after hook")
62
- ActsAsScrubbable.execute_after_hook
63
- end
71
+ return if ENV["SKIP_AFTERHOOK"]
72
+
73
+ ActsAsScrubbable.logger.info Term::ANSIColor.red("Running after hook")
74
+ ActsAsScrubbable.execute_after_hook
64
75
  end
65
76
  end
66
- end
77
+ end
@@ -10,7 +10,6 @@ namespace :scrub do
10
10
  exit unless task_runner.confirmed_configuration?
11
11
  task_runner.extract_ar_classes
12
12
  task_runner.scrub(num_of_batches: 1)
13
- task_runner.after_hooks
14
13
  end
15
14
 
16
15
  desc "Scrub one table"
@@ -19,7 +18,7 @@ namespace :scrub do
19
18
  task_runner.prompt_db_configuration
20
19
  exit unless task_runner.confirmed_configuration?
21
20
  task_runner.set_ar_class(args[:ar_class].constantize)
22
- task_runner.scrub
21
+ task_runner.scrub(skip_after_hooks: true)
23
22
  end
24
23
  end
25
24
 
@@ -1,3 +1,3 @@
1
1
  module ActsAsScrubbable
2
- VERSION = '1.2.1'
2
+ VERSION = '1.4.0'
3
3
  end
@@ -24,6 +24,14 @@ module ActsAsScrubbable
24
24
  end
25
25
  end
26
26
 
27
+ def before_hook(&block)
28
+ @before_hook = block
29
+ end
30
+
31
+ def execute_before_hook
32
+ @before_hook.call if @before_hook
33
+ end
34
+
27
35
  def after_hook(&block)
28
36
  @after_hook = block
29
37
  end
@@ -1,7 +1,11 @@
1
1
  require 'nulldb/rails'
2
2
  require 'nulldb_rspec'
3
3
 
4
- ActiveRecord::Base.configurations.merge!("test" => {adapter: 'nulldb'})
4
+ if ActiveRecord::Base.configurations.respond_to?(:merge!)
5
+ ActiveRecord::Base.configurations.merge!("test" => {adapter: 'nulldb'})
6
+ else
7
+ ActiveRecord::Base.configurations = ActiveRecord::DatabaseConfigurations.new(test: {adapter: 'nulldb'})
8
+ end
5
9
 
6
10
  NullDB.configure do |c|
7
11
  c.project_root = './spec'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acts_as_scrubbable
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samer Masry
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-24 00:00:00.000000000 Z
11
+ date: 2022-07-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '4.1'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '6'
22
+ version: '8'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '4.1'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '6'
32
+ version: '8'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: activerecord
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -39,7 +39,7 @@ dependencies:
39
39
  version: '4.1'
40
40
  - - "<"
41
41
  - !ruby/object:Gem::Version
42
- version: '6'
42
+ version: '8'
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
@@ -49,7 +49,7 @@ dependencies:
49
49
  version: '4.1'
50
50
  - - "<"
51
51
  - !ruby/object:Gem::Version
52
- version: '6'
52
+ version: '8'
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: railties
55
55
  requirement: !ruby/object:Gem::Requirement
@@ -59,7 +59,7 @@ dependencies:
59
59
  version: '4.1'
60
60
  - - "<"
61
61
  - !ruby/object:Gem::Version
62
- version: '6'
62
+ version: '8'
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
@@ -69,7 +69,7 @@ dependencies:
69
69
  version: '4.1'
70
70
  - - "<"
71
71
  - !ruby/object:Gem::Version
72
- version: '6'
72
+ version: '8'
73
73
  - !ruby/object:Gem::Dependency
74
74
  name: faker
75
75
  requirement: !ruby/object:Gem::Requirement