Skip to content

Commit

Permalink
Merge pull request #36 from onemedical/no-jira/philton4om-patch-1
Browse files Browse the repository at this point in the history
Update the message for undefined scrub
  • Loading branch information
philton4om authored Jun 13, 2024
2 parents d9d26e0 + 0021ffd commit 6f1f6cb
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 3 deletions.
2 changes: 1 addition & 1 deletion lib/acts_as_scrubbable/scrub.rb
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ def scrubbed_values
if ActsAsScrubbable.scrub_map.keys.include?(value)
_updates[_field] = ActsAsScrubbable.scrub_map[value].call
else
puts "Undefined scrub: #{value} for #{self.class}#{_field}"
puts "Undefined scrub: #{value} for #{self.class}.#{_field}"
end
end

Expand Down
2 changes: 1 addition & 1 deletion lib/acts_as_scrubbable/version.rb
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
module ActsAsScrubbable
VERSION = '2.1.3'
VERSION = '2.1.4'
end
25 changes: 25 additions & 0 deletions spec/lib/acts_as_scrubbable/scrub_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -62,5 +62,30 @@
expect(subject.scrubbing_begun).to be(true)
expect(subject.scrubbing_finished).to be(true)
end

it 'output no information when all scrubbers found' do
expect(STDOUT).to_not receive(:puts)

_updates = subject.scrubbed_values
end

context "scrubbable" do
subject { MissingScrubbableModel.new }

it 'outputs warning message' do
subject.first_name = "Johnny"
subject.last_name = "Frank"

allow(Faker::Name).to receive(:first_name).and_return("Larry")
allow(Faker::Name).to receive(:last_name).and_return("Baker")

expect(STDOUT).to receive(:puts).with('Undefined scrub: fake_first_name for MissingScrubbableModel.first_name')
expect(Faker::Name).to_not receive(:first_name)

_updates = subject.scrubbed_values
expect(_updates[:last_name]).to eq('Baker')
expect(_updates[:first_name]).to be_nil
end
end
end
end
3 changes: 2 additions & 1 deletion spec/lib/acts_as_scrubbable/task_runner_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,11 @@
it "scrubs all scrubbable classes", :aggregate_failures do
runner.extract_ar_classes
runner.scrub(num_of_batches: 1)
expect(processor).to have_received(:process).with(1).exactly(3).times
expect(processor).to have_received(:process).with(1).exactly(4).times
expect(ActsAsScrubbable::ArClassProcessor).to have_received(:new).with(ScrubbableModel)
expect(ActsAsScrubbable::ArClassProcessor).to have_received(:new).with(AnotherScrubbableModel)
expect(ActsAsScrubbable::ArClassProcessor).to have_received(:new).with(AThirdScrubbableModel)
expect(ActsAsScrubbable::ArClassProcessor).to have_received(:new).with(MissingScrubbableModel)
expect(ActsAsScrubbable::ArClassProcessor).not_to have_received(:new).with(NonScrubbableModel)
end

Expand Down
4 changes: 4 additions & 0 deletions spec/support/database.rb
Original file line number Diff line number Diff line change
Expand Up @@ -53,3 +53,7 @@ class AnotherScrubbableModel < ActiveRecord::Base
class AThirdScrubbableModel < ActiveRecord::Base
acts_as_scrubbable :active => :boolean
end

class MissingScrubbableModel < ScrubbableModel
acts_as_scrubbable :last_name, :first_name => :fake_first_name
end

0 comments on commit 6f1f6cb

Please sign in to comment.