Sha256: 1866713f28ee896f894622411399fac774a73f68dae772c1170dfcbb1f2f45b9

Contents?: true

Size: 680 Bytes

Versions: 6

Compression:

Stored size: 680 Bytes

Contents

module ActsAsScrubbable
  module Scrub

    def scrubbed_values
      return unless self.class.scrubbable?

      run_callbacks(:scrub) do
        _updates = {}

        scrubbable_fields.each do |_field, value|
          unless self.respond_to?(_field)
            raise ArgumentError, "#{self.class} do not respond to #{_field}"
          end
          next if self.send(_field).blank?

          if ActsAsScrubbable.scrub_map.keys.include?(value)
            _updates[_field] = ActsAsScrubbable.scrub_map[value].call
          else
            puts "Undefined scrub: #{value} for #{self.class}#{_field}"
           end
        end

        _updates
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
acts_as_scrubbable-2.1.3 lib/acts_as_scrubbable/scrub.rb
acts_as_scrubbable-2.1.2 lib/acts_as_scrubbable/scrub.rb
acts_as_scrubbable-2.1.1 lib/acts_as_scrubbable/scrub.rb
acts_as_scrubbable-2.0.0 lib/acts_as_scrubbable/scrub.rb
acts_as_scrubbable-1.4.0 lib/acts_as_scrubbable/scrub.rb
acts_as_scrubbable-1.2.1 lib/acts_as_scrubbable/scrub.rb