Module: FFaker::InternetSE

Extended by:
InternetSE, ModuleUtils
Includes:
Internet
Included in:
InternetSE
Defined in:
lib/ffaker/internet_se.rb

Constant Summary collapse

BYTE =
Array('0'..'255').freeze
HOSTS =
%w[gmail.com yahoo.com hotmail.com spray.se passagen.se].freeze
DOMAIN_SUFFIXES =
%w[se nu com].freeze
DISPOSABLE_HOSTS =
%w[
  mailinator.com suremail.info spamherelots.com binkmail.com safetymail.info
].freeze
SLUG_DELIMITERS =
%w[- _ .].freeze

Constants included from Internet

FFaker::Internet::MAC_LIMIT, FFaker::Internet::SAFE_DOMAIN_SUFFIXES

Instance Method Summary collapse

Methods included from ModuleUtils

const_missing, k, underscore, unique

Methods included from RandomUtils

#fetch_sample, #rand, #shuffle

Methods included from Internet

#mac, #password, #safe_email

Instance Method Details

#company_name_single_wordObject


82
83
84
# File 'lib/ffaker/internet_se.rb', line 82

def company_name_single_word
  CompanySE.name.split(' ').first
end

#disposable_email(name = nil) ⇒ Object

Returns an email address of an online disposable email service (like tempinbox.com). you can really send an email to these addresses an access it by going to the service web pages.


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

def disposable_email(name = nil)
  "#{user_name(name)}@#{fetch_sample(DISPOSABLE_HOSTS)}"
end

#domain_nameObject


71
72
73
# File 'lib/ffaker/internet_se.rb', line 71

def domain_name
  "#{domain_word}.#{domain_suffix}"
end

#domain_suffixObject


86
87
88
# File 'lib/ffaker/internet_se.rb', line 86

def domain_suffix
  fetch_sample(DOMAIN_SUFFIXES)
end

#domain_wordObject


75
76
77
78
79
80
# File 'lib/ffaker/internet_se.rb', line 75

def domain_word
  company_name_single_word.tap do |dw|
    dw.gsub!(/\W/, '')
    dw.downcase!
  end
end

#email(name = nil) ⇒ Object


18
19
20
# File 'lib/ffaker/internet_se.rb', line 18

def email(name = nil)
  +"#{user_name(name)}@#{domain_name}"
end

#free_email(name = nil) ⇒ Object


29
30
31
# File 'lib/ffaker/internet_se.rb', line 29

def free_email(name = nil)
  "#{user_name(name)}@#{fetch_sample(HOSTS)}"
end

#http_urlObject


94
95
96
# File 'lib/ffaker/internet_se.rb', line 94

def http_url
  uri('http')
end

#ip_v4_addressObject


98
99
100
# File 'lib/ffaker/internet_se.rb', line 98

def ip_v4_address
  (1..4).map { fetch_sample(BYTE) }.join('.')
end

#join_to_user_name(array_parts) ⇒ Object


66
67
68
69
# File 'lib/ffaker/internet_se.rb', line 66

def join_to_user_name(array_parts)
  join_char = fetch_sample(%w[. _])
  array_parts.map(&:downcase).join(join_char)
end

#login_user_nameObject

Used to fake login names were dot is not allowed


34
35
36
# File 'lib/ffaker/internet_se.rb', line 34

def 
  user_name.tr('.', '')
end

#slug(words = nil, glue = nil) ⇒ Object


102
103
104
105
106
# File 'lib/ffaker/internet_se.rb', line 102

def slug(words = nil, glue = nil)
  glue ||= fetch_sample(SLUG_DELIMITERS)

  (words || FFaker::Lorem.words(2).join(' ')).gsub(' ', glue).downcase
end

#uri(protocol) ⇒ Object


90
91
92
# File 'lib/ffaker/internet_se.rb', line 90

def uri(protocol)
  "#{protocol}://#{domain_name}"
end

#user_name(name = nil) ⇒ Object

Mostly used for email creation


39
40
41
42
43
# File 'lib/ffaker/internet_se.rb', line 39

def user_name(name = nil)
  return user_name_from_name(name) if name

  user_name_random
end

#user_name_from_name(name) ⇒ Object


61
62
63
64
# File 'lib/ffaker/internet_se.rb', line 61

def user_name_from_name(name)
  array_parts = shuffle(name.scan(/\w+/))
  join_to_user_name(array_parts)
end

#user_name_randomObject


45
46
47
# File 'lib/ffaker/internet_se.rb', line 45

def user_name_random
  rand(0..1).zero? ? user_name_variant_short : user_name_variant_long
end

#user_name_variant_longObject


49
50
51
52
53
# File 'lib/ffaker/internet_se.rb', line 49

def user_name_variant_long
  array_parts = [NameSE.first_name, NameSE.last_name]
  array_parts.map! { |word| word.gsub(/\W/, '') }
  join_to_user_name(array_parts)
end

#user_name_variant_shortObject


55
56
57
58
59
# File 'lib/ffaker/internet_se.rb', line 55

def user_name_variant_short
  array_parts = [NameSE.first_name]
  array_parts.map! { |word| word.gsub(/\W/, '') }
  join_to_user_name(array_parts)
end