module ActsAsScrubbable

Constants

VERSION

Attributes

use_upsert[RW]

Public Class Methods

configure() { |self| ... } click to toggle source
# File lib/acts_as_scrubbable.rb, line 20
def configure(&block)
  self.use_upsert = ENV["USE_UPSERT"] == "true"

  yield self
end

Public Instance Methods

add(key, value) click to toggle source
# File lib/acts_as_scrubbable.rb, line 53
def add(key, value)
  ActsAsScrubbable.scrub_map[key] = value
end
after_hook(&block) click to toggle source
# File lib/acts_as_scrubbable.rb, line 35
def after_hook(&block)
  @after_hook = block
end
before_hook(&block) click to toggle source
# File lib/acts_as_scrubbable.rb, line 27
def before_hook(&block)
  @before_hook = block
end
execute_after_hook() click to toggle source
# File lib/acts_as_scrubbable.rb, line 39
def execute_after_hook
  @after_hook.call if @after_hook
end
execute_before_hook() click to toggle source
# File lib/acts_as_scrubbable.rb, line 31
def execute_before_hook
  @before_hook.call if @before_hook
end
logger() click to toggle source
# File lib/acts_as_scrubbable.rb, line 43
def logger
  @logger ||= begin
                loggger = Logger.new($stdout)
                loggger.formatter = proc do |severity, datetime, progname, msg|
                  "#{datetime}: [#{severity}] - #{msg}\n"
                end
                loggger
              end
end
scrub_map() click to toggle source
# File lib/acts_as_scrubbable.rb, line 57
def scrub_map
  require 'faker'

  @_scrub_map ||= {
    :first_name => -> { Faker::Name.first_name },
    :last_name => -> { Faker::Name.last_name },
    :middle_name => -> { Faker::Name.name },
    :name => -> { Faker::Name.name },
    :email => -> { Faker::Internet.email },
    :name_title => -> { defined? Faker::Job ? Faker::Job.title : Faker::Name.title },
    :company_name => -> { Faker::Company.name },
    :street_address => -> { Faker::Address.street_address },
    :secondary_address => -> { Faker::Address.secondary_address },
    :zip_code => -> { Faker::Address.zip_code },
    :state_abbr => -> { Faker::Address.state_abbr },
    :state => -> { Faker::Address.state },
    :city => -> { Faker::Address.city },
    :latitude => -> { Faker::Address.latitude },
    :longitude => -> { Faker::Address.longitude },
    :username => -> { Faker::Internet.user_name },
    :boolean => -> { [true, false].sample },
    :school => -> { Faker::University.name }
  }
end