module DbObfuscation::Obfuscator

Public Instance Methods

obfuscate(strategy_name) click to toggle source
# File lib/db_obfuscation/obfuscator.rb, line 6
def obfuscate(strategy_name)
  case strategy_name
  when :address_strategy
    address
  when :date_strategy
    rand(31..240)
  when :default_strategy
    FFaker::Lorem.word
  when :driving_license_strategy
    FFaker::Identification.drivers_license
  when :email_strategy
    FFaker::Internet.safe_email
  when :first_name_strategy
    FFaker::Name.first_name
  when :gender_strategy
    'Unknown'
  when :last_name_strategy
    FFaker::Name.last_name
  when :medicaid_id_strategy
    FFaker.numerify('############')
  when :name_strategy
    FFaker::Name.name
  when :nil_strategy
    nil
  when :paragraph_strategy
    FFaker::Lorem.paragraph
  when :phone_number_strategy
    FFaker::PhoneNumber.phone_number
  when :school_strategy
    FFaker::Education.school
  when :sentence_strategy
    FFaker::Lorem.sentence
  when :ssn_strategy
    FFaker::SSN.ssn
  when :suffix_strategy
    FFaker::Name.suffix
  when :unique_name_strategy
    full_name
  end
end

Private Instance Methods

address() click to toggle source
# File lib/db_obfuscation/obfuscator.rb, line 48
    def address
      <<-ADDRESS.gsub(/\s{2,}/,' ').strip
        #{FFaker::Address.street_address}
        #{FFaker::Address.city}
        #{FFaker::AddressUS.state_abbr}
        #{FFaker::AddressUS.zip_code}
      ADDRESS
    end
full_name() click to toggle source
# File lib/db_obfuscation/obfuscator.rb, line 57
    def full_name
      <<-name.gsub(/\s{2,}/,' ').strip
        #{FFaker::Name.first_name}
        #{FFaker.letterify('??????????')}
        #{FFaker::Name.last_name}
      name
    end