Module: Faker

Extended by:
ModuleUtils
Defined in:
lib/ffaker.rb,
lib/ffaker/ssn.rb,
lib/ffaker/job.rb,
lib/ffaker/time.rb,
lib/ffaker/name.rb,
lib/ffaker/unit.rb,
lib/ffaker/lorem.rb,
lib/ffaker/skill.rb,
lib/ffaker/venue.rb,
lib/ffaker/movie.rb,
lib/ffaker/string.rb,
lib/ffaker/locale.rb,
lib/ffaker/ssn_se.rb,
lib/ffaker/job_fr.rb,
lib/ffaker/name_br.rb,
lib/ffaker/name_th.rb,
lib/ffaker/name_de.rb,
lib/ffaker/name_nb.rb,
lib/ffaker/name_ga.rb,
lib/ffaker/name_cn.rb,
lib/ffaker/name_it.rb,
lib/ffaker/name_sn.rb,
lib/ffaker/name_ru.rb,
lib/ffaker/name_da.rb,
lib/ffaker/name_vn.rb,
lib/ffaker/name_se.rb,
lib/ffaker/address.rb,
lib/ffaker/product.rb,
lib/ffaker/name_kr.rb,
lib/ffaker/name_mx.rb,
lib/ffaker/name_ja.rb,
lib/ffaker/company.rb,
lib/ffaker/name_ph.rb,
lib/ffaker/name_fr.rb,
lib/ffaker/name_cs.rb,
lib/ffaker/lorem_fr.rb,
lib/ffaker/lorem_cn.rb,
lib/ffaker/lorem_ar.rb,
lib/ffaker/internet.rb,
lib/ffaker/education.rb,
lib/ffaker/html_ipsum.rb,
lib/ffaker/address_da.rb,
lib/ffaker/address_se.rb,
lib/ffaker/company_se.rb,
lib/ffaker/address_ca.rb,
lib/ffaker/company_it.rb,
lib/ffaker/address_de.rb,
lib/ffaker/conference.rb,
lib/ffaker/address_sn.rb,
lib/ffaker/address_mx.rb,
lib/ffaker/address_fr.rb,
lib/ffaker/address_us.rb,
lib/ffaker/address_au.rb,
lib/ffaker/address_uk.rb,
lib/ffaker/address_br.rb,
lib/ffaker/unit_metric.rb,
lib/ffaker/geolocation.rb,
lib/ffaker/bacon_ipsum.rb,
lib/ffaker/internet_se.rb,
lib/ffaker/unit_english.rb,
lib/ffaker/phone_number.rb,
lib/ffaker/dizzle_ipsum.rb,
lib/ffaker/nato_alphabet.rb,
lib/ffaker/hipster_ipsum.rb,
lib/ffaker/identification.rb,
lib/ffaker/phone_number_sn.rb,
lib/ffaker/phone_number_fr.rb,
lib/ffaker/phone_number_mx.rb,
lib/ffaker/phone_number_de.rb,
lib/ffaker/phone_number_it.rb,
lib/ffaker/phone_number_se.rb,
lib/ffaker/phone_number_da.rb,
lib/ffaker/phone_number_sg.rb,
lib/ffaker/phone_number_au.rb,
lib/ffaker/healthcare_ipsum.rb,
lib/ffaker/identification_es.rb,
lib/ffaker/utils/array_utils.rb,
lib/ffaker/utils/module_utils.rb,
lib/ffaker/identification_es_cl.rb,
lib/ffaker/identification_es_co.rb

Defined Under Namespace

Modules: Address, AddressAU, AddressBR, AddressCA, AddressDA, AddressDE, AddressFR, AddressMX, AddressSE, AddressSN, AddressUK, AddressUS, ArrayUtils, BaconIpsum, Company, CompanyIT, CompanySE, Conference, DizzleIpsum, Education, Geolocation, HTMLIpsum, HealthcareIpsum, HipsterIpsum, Identification, IdentificationES, IdentificationESCL, IdentificationESCO, Internet, InternetSE, Job, JobFR, Locale, Lorem, LoremAR, LoremCN, LoremFR, ModuleUtils, Movie, Name, NameBR, NameCN, NameCS, NameDA, NameDE, NameFR, NameGA, NameIT, NameJA, NameKR, NameMX, NameNB, NamePH, NameRU, NameSE, NameSN, NameTH, NameVN, NatoAlphabet, PhoneNumber, PhoneNumberAU, PhoneNumberDA, PhoneNumberDE, PhoneNumberFR, PhoneNumberIT, PhoneNumberMX, PhoneNumberSE, PhoneNumberSG, PhoneNumberSN, Product, SSN, SSNSE, Skill, String, Time, Unit, UnitEnglish, UnitMetric, Venue

Constant Summary

VERSION =
"1.24.0"
BASE_LIB_PATH =
File.expand_path("..", __FILE__)
LETTERS =
k('a'..'z')

Class Method Summary collapse

Methods included from ModuleUtils

const_missing, k, underscore

Class Method Details

.bothify(masks) ⇒ Object



25
26
27
# File 'lib/ffaker.rb', line 25

def self.bothify(masks)
  letterify(numerify(masks))
end

.letterify(*masks) ⇒ Object



19
20
21
22
23
# File 'lib/ffaker.rb', line 19

def self.letterify(*masks)
  mask = ArrayUtils.rand(masks.flatten)
  mask.gsub!(/\?/) { LETTERS.rand }
  mask
end

.numerify(*masks) ⇒ Object



13
14
15
16
17
# File 'lib/ffaker.rb', line 13

def self.numerify(*masks)
  mask = ArrayUtils.rand(masks.flatten)
  mask.gsub!(/#/) { rand(10).to_s }
  mask
end