Class: Faker::Internet

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

Class Method Summary collapse

Methods inherited from Base

bothify, fetch, flexible, letterify, method_missing, numerify, parse, translate

Class Method Details

.domain_nameObject



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

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

.domain_suffixObject



48
49
50
# File 'lib/faker/internet.rb', line 48

def domain_suffix
  fetch('internet.domain_suffix')
end

.domain_wordObject



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

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

.email(name = nil) ⇒ Object



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

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

.fix_umlauts(string) ⇒ Object



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

def fix_umlauts(string)
  string.gsub(/[äöüß]/i) do |match|
      case match.downcase
          when "ä" 'ae'
          when "ö" 'oe'
          when "ü" 'ue'
          when "ß" 'ss'
      end
  end
end

.free_email(name = nil) ⇒ Object



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

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

.ip_v4_addressObject



52
53
54
55
56
57
58
# File 'lib/faker/internet.rb', line 52

def ip_v4_address
  ary = (2..254).to_a
  [ary.sample,
  ary.sample,
  ary.sample,
  ary.sample].join('.')
end

.ip_v6_addressObject



60
61
62
63
64
# File 'lib/faker/internet.rb', line 60

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

.safe_email(name = nil) ⇒ Object



13
14
15
# File 'lib/faker/internet.rb', line 13

def safe_email(name = nil)
  [user_name(name), 'example.'+ %w[org com net].shuffle.first].join('@')
end

.urlObject



66
67
68
# File 'lib/faker/internet.rb', line 66

def url
  "http://#{domain_name}/#{user_name}"
end

.user_name(name = nil) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
# File 'lib/faker/internet.rb', line 17

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