acts_as_scrubbable 1.2.1 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
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