module DataMagic::StandardTranslation

Attributes

parent[R]

Public Instance Methods

catch_phrase() click to toggle source

return a random catch phrase

# File lib/data_magic/standard_translation.rb, line 126
def catch_phrase
  Faker::Company.catch_phrase
end
Also aliased as: dm_catch_phrase
cell_phone() click to toggle source

return a random cell number

# File lib/data_magic/standard_translation.rb, line 231
def cell_phone
  value = Faker::PhoneNumber.cell_phone
  remove_extension(value)
end
Also aliased as: dm_cell_phone
characters(character_count = 255) click to toggle source

return random characters - default is 255 characters

# File lib/data_magic/standard_translation.rb, line 182
def characters(character_count = 255)
  Faker::Lorem.characters(number: character_count)
end
Also aliased as: dm_characters
city() click to toggle source

return a random city

# File lib/data_magic/standard_translation.rb, line 78
def city
  Faker::Address.city
end
Also aliased as: dm_city
color_hex() click to toggle source

return a random color code in hex

# File lib/data_magic/standard_translation.rb, line 291
def color_hex
  Faker::Color.hex_color
end
Also aliased as: dm_color_hex
color_name() click to toggle source

return a random color name

# File lib/data_magic/standard_translation.rb, line 299
def color_name
  Faker::Color.color_name
end
Also aliased as: dm_color_name
company_name() click to toggle source

return a random company name

# File lib/data_magic/standard_translation.rb, line 118
def company_name
  Faker::Company.name
end
Also aliased as: dm_company_name
country() click to toggle source

return a random country

# File lib/data_magic/standard_translation.rb, line 110
def country
  Faker::Address.country
end
Also aliased as: dm_country
credit_card_number() click to toggle source

return a credit card number

# File lib/data_magic/standard_translation.rb, line 134
def credit_card_number
  Faker::Business.credit_card_number
end
Also aliased as: dm_credit_card_number
credit_card_type() click to toggle source

return a credit card type

# File lib/data_magic/standard_translation.rb, line 142
def credit_card_type
  Faker::Business.credit_card_type
end
Also aliased as: dm_credit_card_type
decimal(before_decimal, after_decimal = 2) click to toggle source

return a random number in decimal

# File lib/data_magic/standard_translation.rb, line 315
def decimal(before_decimal, after_decimal = 2)
  Faker::Number.decimal(l_digits: before_decimal, r_digits: after_decimal)
end
Also aliased as: dm_decimal
dm_catch_phrase()
Alias for: catch_phrase
dm_cell_phone()
Alias for: cell_phone
dm_characters(character_count = 255)
Alias for: characters
dm_city()
Alias for: city
dm_color_hex()
Alias for: color_hex
dm_color_name()
Alias for: color_name
dm_company_name()
Alias for: company_name
dm_country()
Alias for: country
dm_credit_card_number()
Alias for: credit_card_number
dm_credit_card_type()
Alias for: credit_card_type
dm_decimal(before_decimal, after_decimal = 2)
Alias for: decimal
dm_domain_name()
Alias for: domain_name
dm_email_address(name = nil, domain = nil)
Alias for: email_address
dm_first_name()
Alias for: first_name
dm_full_name()
Alias for: full_name
dm_job_title()
Alias for: job_title
dm_last_name()
Alias for: last_name
dm_mask(value)
Alias for: mask
dm_merge(separator = ' ', *params)
Alias for: merge
dm_name_prefix()
Alias for: name_prefix
dm_name_suffix()
Alias for: name_suffix
dm_number(digits, leading_zero = false)
Alias for: number
dm_paragraphs(paragraph_count = 3)
Alias for: paragraphs
dm_phone_number()
Alias for: phone_number
dm_randomize(value)
Alias for: randomize
dm_secondary_address()
Alias for: secondary_address
dm_sentence(min_word_count = 4)
Alias for: sentence
dm_sentences(sentence_count = 3)
Alias for: sentences
dm_state()
Alias for: state
dm_state_abbr()
Alias for: state_abbr
dm_street_address(include_secondary = false)
Alias for: street_address
dm_url()
Alias for: url
dm_user_name()
Alias for: user_name
dm_words(number = 3)
Alias for: words
dm_zip_code()
Alias for: zip_code
domain_name() click to toggle source

return a random domain name

# File lib/data_magic/standard_translation.rb, line 198
def domain_name
  Faker::Internet.domain_name
end
Also aliased as: dm_domain_name
email_address(name = nil, domain = nil) click to toggle source

return a random email address

# File lib/data_magic/standard_translation.rb, line 190
def email_address(name = nil, domain = nil)
  Faker::Internet.email(name: name, domain: domain)
end
Also aliased as: dm_email_address
first_name() click to toggle source

return a random first name

# File lib/data_magic/standard_translation.rb, line 18
def first_name
  Faker::Name.first_name
end
Also aliased as: dm_first_name
full_name() click to toggle source

return a random name (first and last)

# File lib/data_magic/standard_translation.rb, line 10
def full_name
  Faker::Name.name
end
Also aliased as: dm_full_name
job_title() click to toggle source

return a random job title

# File lib/data_magic/standard_translation.rb, line 54
def job_title
  Faker::Job.title
end
Also aliased as: dm_job_title
last_name() click to toggle source

return a random last name

# File lib/data_magic/standard_translation.rb, line 26
def last_name
  Faker::Name.last_name
end
Also aliased as: dm_last_name
mask(value) click to toggle source

return a value based on a mast The # character will be replaced with a number The A character will be replaced with an upper case letter The a character will be replaced with a lower case letter

# File lib/data_magic/standard_translation.rb, line 268
def mask(value)
  result = ''
  value.each_char do |ch|
    result += case ch
              when '#' then randomize(0..9).to_s
              when 'A' then ('A'..'Z').to_a[rand(26)]
              when 'a' then ('a'..'z').to_a[rand(26)]
              else ch
              end
  end
  result
end
Also aliased as: dm_mask
merge(separator = ' ', *params) click to toggle source

merge variables

# File lib/data_magic/standard_translation.rb, line 323
def merge(separator = ' ', *params)
  params.join(separator)
end
Also aliased as: dm_merge
name_prefix() click to toggle source

return a random name prefix

# File lib/data_magic/standard_translation.rb, line 34
def name_prefix
  Faker::Name.prefix
end
Also aliased as: dm_name_prefix
name_suffix() click to toggle source

return a random name suffix

# File lib/data_magic/standard_translation.rb, line 42
def name_suffix
  Faker::Name.suffix
end
Also aliased as: dm_name_suffix
number(digits, leading_zero = false) click to toggle source

return a random number in specified digits

# File lib/data_magic/standard_translation.rb, line 307
def number(digits, leading_zero = false)
  leading_zero ? Faker::Number.leading_zero_number(digits: digits) : Faker::Number.number(digits: digits)
end
Also aliased as: dm_number
paragraphs(paragraph_count = 3) click to toggle source

return random paragraphs - default is 3 paragraphs

# File lib/data_magic/standard_translation.rb, line 174
def paragraphs(paragraph_count = 3)
  Faker::Lorem.paragraphs(number: paragraph_count).join('\n\n')
end
Also aliased as: dm_paragraphs
phone_number() click to toggle source

return a random phone number

# File lib/data_magic/standard_translation.rb, line 222
def phone_number
  value = Faker::PhoneNumber.phone_number
  remove_extension(value)
end
Also aliased as: dm_phone_number
randomize(value) click to toggle source

return a random value from an array or range

# File lib/data_magic/standard_translation.rb, line 240
def randomize(value)
  case value
  when Array then value[rand(value.size)]
  when Range then rand((value.last + 1) - value.first) + value.first
  else value
  end
end
Also aliased as: dm_randomize
secondary_address() click to toggle source

return a random secondary address

# File lib/data_magic/standard_translation.rb, line 70
def secondary_address
  Faker::Address.secondary_address
end
Also aliased as: dm_secondary_address
sentence(min_word_count = 4) click to toggle source

return a random sentence - default minimum word count is 4

# File lib/data_magic/standard_translation.rb, line 158
def sentence(min_word_count = 4)
  Faker::Lorem.sentence(word_count: min_word_count)
end
Also aliased as: dm_sentence
sentences(sentence_count = 3) click to toggle source

return random sentences - default is 3 sentences

# File lib/data_magic/standard_translation.rb, line 166
def sentences(sentence_count = 3)
  Faker::Lorem.sentences(number: sentence_count).join(' ')
end
Also aliased as: dm_sentences
sequential(value) click to toggle source

return an element from the array. The first request will return the first element, the second request will return the second, and so forth.

# File lib/data_magic/standard_translation.rb, line 254
def sequential(value)
  index = index_variable_for(value)
  index = (index ? index + 1 : 0)
  index = 0 if index == value.length
  set_index_variable(value, index)
  value[index]
end
state() click to toggle source

return a random state

# File lib/data_magic/standard_translation.rb, line 86
def state
  Faker::Address.state
end
Also aliased as: dm_state
state_abbr() click to toggle source

return a random state abbreviation

# File lib/data_magic/standard_translation.rb, line 94
def state_abbr
  Faker::Address.state_abbr
end
Also aliased as: dm_state_abbr
street_address(include_secondary = false) click to toggle source

return a random street address

# File lib/data_magic/standard_translation.rb, line 62
def street_address(include_secondary = false)
  Faker::Address.street_address(include_secondary: include_secondary)
end
Also aliased as: dm_street_address
url() click to toggle source

return a random url

# File lib/data_magic/standard_translation.rb, line 206
def url
  Faker::Internet.url
end
Also aliased as: dm_url
user_name() click to toggle source

return a random user name

# File lib/data_magic/standard_translation.rb, line 214
def user_name
  Faker::Internet.user_name
end
Also aliased as: dm_user_name
words(number = 3) click to toggle source

return random words - default is 3 words

# File lib/data_magic/standard_translation.rb, line 150
def words(number = 3)
  Faker::Lorem.words(number: number).join(' ')
end
Also aliased as: dm_words
zip_code() click to toggle source

return a random 5 or 9 digit zip code

# File lib/data_magic/standard_translation.rb, line 102
def zip_code
  Faker::Address.zip
end
Also aliased as: dm_zip_code

Private Instance Methods

data_hash() click to toggle source
# File lib/data_magic/standard_translation.rb, line 356
def data_hash
  $data_magic_data_hash ||= {}
end
index_hash() click to toggle source
# File lib/data_magic/standard_translation.rb, line 350
def index_hash
  dh = data_hash[parent]
  data_hash[parent] = {} unless dh
  data_hash[parent]
end
index_name(ary) click to toggle source
# File lib/data_magic/standard_translation.rb, line 346
def index_name(ary)
  "#{ary[0]}#{ary[1]}_index".gsub(' ', '_').downcase
end
index_variable_for(ary) click to toggle source
# File lib/data_magic/standard_translation.rb, line 340
def index_variable_for(ary)
  value = index_hash[index_name(ary)]
  index_hash[index_name(ary)] = -1 unless value
  index_hash[index_name(ary)]
end
process(value) click to toggle source
# File lib/data_magic/standard_translation.rb, line 360
def process(value)
  eval value
end
remove_extension(phone) click to toggle source
# File lib/data_magic/standard_translation.rb, line 364
def remove_extension(phone)
  index = phone.index('x')
  phone = phone[0, (index - 1)] if index
  phone
end
set_index_variable(ary, value) click to toggle source
#

NEW TRANSLATOR ENDS HERE #

#
# File lib/data_magic/standard_translation.rb, line 336
def set_index_variable(ary, value)
  index_hash[index_name(ary)] = value
end