class Faker::Internet

Public Class Methods

domain_name() click to toggle source
# File lib/faker/internet.rb, line 28
def domain_name
  [ fix_umlauts(domain_word), domain_suffix ].join('.')
end
domain_suffix() click to toggle source
# File lib/faker/internet.rb, line 47
def domain_suffix
  fetch('internet.domain_suffix')
end
domain_word() click to toggle source
# File lib/faker/internet.rb, line 43
def domain_word
  Company.name.split(' ').first.gsub(/\W/, '').downcase
end
email(name = nil) click to toggle source
# File lib/faker/internet.rb, line 4
def email(name = nil)
  [ user_name(name), domain_name ].join('@')
end
fix_umlauts(string) click to toggle source
# File lib/faker/internet.rb, line 32
def fix_umlauts(string)
  string.gsub(/[äöüß]/) do |match|
      case match.downcase
          when "ä" 'ae'
          when "ö" 'oe'
          when "ü" 'ue'
          when "ß" 'ss'
      end
  end
end
free_email(name = nil) click to toggle source
# File lib/faker/internet.rb, line 8
def free_email(name = nil)
  [ user_name(name), fetch('internet.free_email') ].join('@')
end
ip_v4_address() click to toggle source
# File lib/faker/internet.rb, line 51
def ip_v4_address
  ary = (2..254).to_a
  [ary.sample,
  ary.sample,
  ary.sample,
  ary.sample].join('.')
end
ip_v6_address() click to toggle source
# File lib/faker/internet.rb, line 59
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) click to toggle source
# File lib/faker/internet.rb, line 12
def safe_email(name = nil)
  [user_name(name), 'example.'+ %w[org com net].shuffle.first].join('@')
end
url() click to toggle source
# File lib/faker/internet.rb, line 65
def url
  "http://#{domain_name}/#{user_name}"
end
user_name(name = nil) click to toggle source
# File lib/faker/internet.rb, line 16
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