Class: Faker::Internet

Inherits:
Base
  • Object
show all
Defined in:
lib/faker/internet.rb

Class Method Summary collapse

Methods inherited from Base

bothify, fetch, letterify, numerify

Class Method Details

.domain_nameObject



24
25
26
# File 'lib/faker/internet.rb', line 24

def domain_name
  [ domain_word, domain_suffix ].join('.')
end

.domain_suffixObject



32
33
34
# File 'lib/faker/internet.rb', line 32

def domain_suffix
  fetch('internet.domain_suffix')
end

.domain_wordObject



28
29
30
# File 'lib/faker/internet.rb', line 28

def domain_word
  Company.name.split(' ').first.gsub(/\W/, '').downcase
end

.email(name = nil) ⇒ Object



4
5
6
# File 'lib/faker/internet.rb', line 4

def email(name = nil)
  [ user_name(name), domain_name ].join('@')
end

.free_email(name = nil) ⇒ Object



8
9
10
# File 'lib/faker/internet.rb', line 8

def free_email(name = nil)
  [ user_name(name), fetch('internet.free_email') ].join('@')
end

.ip_v4_addressObject



36
37
38
39
40
41
42
# File 'lib/faker/internet.rb', line 36

def ip_v4_address
  ary = (2..255).to_a
  [ary.rand,
  ary.rand,
  ary.rand,
  ary.rand].join('.')
end

.ip_v6_addressObject



44
45
46
47
48
# File 'lib/faker/internet.rb', line 44

def ip_v6_address
  @@ip_v6_space ||= (0..65535).to_a
  container = (1..8).map{ |_| @@ip_v6_space.rand }
  container.map{ |n| n.to_s(16) }.join(':')
end

.user_name(name = nil) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/faker/internet.rb', line 12

def user_name(name = nil)
  return name.scan(/\w+/).shuffle.join(%w(. _).rand).downcase if name
  
  [ 
    Proc.new { Name.first_name.gsub(/\W/, '').downcase },
    Proc.new { 
      [ Name.first_name, Name.last_name ].map {|n| 
        n.gsub(/\W/, '')
      }.join(%w(. _).rand).downcase }
  ].rand.call
end