acts_as_scrubbable 0.1.4 → 1.0.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
  SHA1:
3
- metadata.gz: 81dccf598a161962fdfd6f2bbe80d6525e8849ba
4
- data.tar.gz: 55446858def4a5a225275d8b4f9ec612796c5953
3
+ metadata.gz: 2a4b66ce45eefc1baa779af4eecf03005b196a6b
4
+ data.tar.gz: 5f4d1febcb268c6891a02d1ddf5d48adf1dc8b22
5
5
  SHA512:
6
- metadata.gz: 217d59ded6e77267b24622d110192b1d30d8828cf9a391282b12aa1851564255c52ef178ce775c995e26e678d4e5973131a4526f7276e38e754db96fde09f7b0
7
- data.tar.gz: 5375565c6e62c6f8284426fc7c34d3bcf7792cb9c5b978b85f2ed3d4a2304583331519cba27cb0c85a1718460ab17dc6f73b7ed0c8cffda55c3a269a8e79d2e3
6
+ metadata.gz: bcbae2c5dddaa9a6ec84a40c9bbf91ee283a422ac441af330c23eb2f216806cbde92ef47eb50435f99fd74416e62e4944e68491aefd6621ed5a15a0bcabef462
7
+ data.tar.gz: 67a3505a44a30b0946c0e6dd2b8235433bc7c7459571aba934325d9157f097c0991ea7c94f8824a14ff5aa8e7218cbcea27c9bca307884b843bc54f9de86a430
@@ -2,7 +2,9 @@ module ActsAsScrubbable
2
2
  module Scrub
3
3
 
4
4
  def scrub!
5
- if self.class.scrubbable?
5
+ return unless self.class.scrubbable?
6
+
7
+ run_callbacks(:scrub) do
6
8
  _updates = {}
7
9
 
8
10
  scrubbable_fields.each do |_field, value|
@@ -20,7 +22,6 @@ module ActsAsScrubbable
20
22
 
21
23
  self.update_columns(_updates) unless _updates.empty?
22
24
  end
23
-
24
25
  end
25
26
  end
26
27
  end
@@ -21,6 +21,7 @@ module ActsAsScrubbable
21
21
  end
22
22
 
23
23
  class_eval do
24
+ define_callbacks :scrub
24
25
 
25
26
  def self.scrubbable?
26
27
  true
@@ -1,3 +1,3 @@
1
1
  module ActsAsScrubbable
2
- VERSION = '0.1.4'
2
+ VERSION = '1.0.0'
3
3
  end
@@ -31,5 +31,10 @@ RSpec.describe ActsAsScrubbable::Scrub do
31
31
  expect(subject.address1).to be_nil
32
32
  end
33
33
 
34
+ it 'runs scrub callbacks' do
35
+ subject.scrub!
36
+ expect(subject.scrubbing_begun).to be(true)
37
+ expect(subject.scrubbing_finished).to be(true)
38
+ end
34
39
  end
35
40
  end
@@ -16,4 +16,11 @@ class NonScrubbableModel < ActiveRecord::Base; end
16
16
 
17
17
  class ScrubbableModel < ActiveRecord::Base
18
18
  acts_as_scrubbable :first_name, :address1 => :street_address, :lat => :latitude
19
+ attr_accessor :scrubbing_begun, :scrubbing_finished
20
+ set_callback :scrub, :before do
21
+ self.scrubbing_begun = true
22
+ end
23
+ set_callback :scrub, :after do
24
+ self.scrubbing_finished = true
25
+ end
19
26
  end
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: 0.1.4
4
+ version: 1.0.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: 2017-05-31 00:00:00.000000000 Z
11
+ date: 2018-03-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -255,7 +255,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
255
255
  version: '0'
256
256
  requirements: []
257
257
  rubyforge_project:
258
- rubygems_version: 2.6.10
258
+ rubygems_version: 2.5.1
259
259
  signing_key:
260
260
  specification_version: 4
261
261
  summary: Scrubbing data made easy