peter-mueller 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.rdoc +122 -0
- data/Rakefile +16 -0
- data/lib/peter-mueller/address.rb +35 -0
- data/lib/peter-mueller/company.rb +79 -0
- data/lib/peter-mueller/data/freemail_provider.txt +8 -0
- data/lib/peter-mueller/data/mobilvorwahlen.txt +53 -0
- data/lib/peter-mueller/data/nachnamen.txt +1000 -0
- data/lib/peter-mueller/data/orte.txt +1000 -0
- data/lib/peter-mueller/data/strassen.txt +1000 -0
- data/lib/peter-mueller/data/vornamen_frauen.txt +460 -0
- data/lib/peter-mueller/data/vornamen_maenner.txt +540 -0
- data/lib/peter-mueller/data.rb +47 -0
- data/lib/peter-mueller/email.rb +71 -0
- data/lib/peter-mueller/person.rb +75 -0
- data/lib/peter-mueller/phonenumber.rb +76 -0
- data/lib/peter-mueller/version.rb +9 -0
- data/lib/peter-mueller.rb +7 -0
- metadata +96 -0
@@ -0,0 +1,76 @@
|
|
1
|
+
module PeterMueller
|
2
|
+
|
3
|
+
# A fictitious phonenumber.
|
4
|
+
class Phonenumber
|
5
|
+
# The number without prefix and extension.
|
6
|
+
attr_accessor :number
|
7
|
+
# The extension, when the number has an extension. In the context of a Company numbers
|
8
|
+
# can have an extension.
|
9
|
+
attr_accessor :extension
|
10
|
+
|
11
|
+
# Returns a mobile Phonenumber.
|
12
|
+
def self.mobile
|
13
|
+
Phonenumber.new MOBILE_PREFIXES.sample
|
14
|
+
end
|
15
|
+
|
16
|
+
# Creates a new Phonenumber.
|
17
|
+
def initialize(prefix = Address.new.phone_prefix, number = nil, extension = nil)
|
18
|
+
@prefix = prefix.gsub(/\A0/,"")
|
19
|
+
|
20
|
+
if number
|
21
|
+
@number = number
|
22
|
+
elsif landline?
|
23
|
+
@number = ([rand(2..9).to_s] + (rand(3..7).times.collect{rand(0..9).to_s})).join("")
|
24
|
+
else
|
25
|
+
@number = ([rand(2..9).to_s] + (7.times.collect{rand(0..9).to_s})).join("")
|
26
|
+
end
|
27
|
+
|
28
|
+
@extension = extension.to_s
|
29
|
+
end
|
30
|
+
|
31
|
+
# the prefix
|
32
|
+
def prefix
|
33
|
+
"0#{@prefix}"
|
34
|
+
end
|
35
|
+
|
36
|
+
# true, when a landline number.
|
37
|
+
def landline?
|
38
|
+
@prefix =~ /\A[2-9]/
|
39
|
+
end
|
40
|
+
|
41
|
+
# true, when a mobile number.
|
42
|
+
def mobile?
|
43
|
+
@prefix =~ /\A1/
|
44
|
+
end
|
45
|
+
|
46
|
+
# true, when number has an extension.
|
47
|
+
def extension?
|
48
|
+
@extension != ""
|
49
|
+
end
|
50
|
+
|
51
|
+
|
52
|
+
# Returns a phonenumber with extension for this phonenumber.
|
53
|
+
def phonenumber_with_extension(extension)
|
54
|
+
Phonenumber.new(prefix, number, extension)
|
55
|
+
end
|
56
|
+
|
57
|
+
# String representation of the phonenumber.
|
58
|
+
def to_s
|
59
|
+
if extension?
|
60
|
+
"#{prefix}-#{number}-#{extension}"
|
61
|
+
else
|
62
|
+
"#{prefix}-#{number}"
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
# String representation of the phonenumber in international format.
|
67
|
+
def to_international
|
68
|
+
if extension?
|
69
|
+
"+49 #{@prefix} #{number}/#{extension}"
|
70
|
+
else
|
71
|
+
"+49 #{@prefix} #{number}"
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
end
|
metadata
ADDED
@@ -0,0 +1,96 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: peter-mueller
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Thomas Volkmar Worm
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2012-05-02 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rake
|
16
|
+
requirement: &8022680 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 0.9.2
|
22
|
+
type: :development
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *8022680
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: rspec
|
27
|
+
requirement: &8022160 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '2.9'
|
33
|
+
type: :development
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *8022160
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: ZenTest
|
38
|
+
requirement: &8006680 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 4.7.0
|
44
|
+
type: :development
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *8006680
|
47
|
+
description: ! "A library for creating fictitious German address data.\n The
|
48
|
+
addresses look real, though they are of pure random and fictitious origin."
|
49
|
+
email:
|
50
|
+
- tvw@s4r.de
|
51
|
+
executables: []
|
52
|
+
extensions: []
|
53
|
+
extra_rdoc_files: []
|
54
|
+
files:
|
55
|
+
- lib/peter-mueller/data.rb
|
56
|
+
- lib/peter-mueller/person.rb
|
57
|
+
- lib/peter-mueller/address.rb
|
58
|
+
- lib/peter-mueller/email.rb
|
59
|
+
- lib/peter-mueller/data/mobilvorwahlen.txt
|
60
|
+
- lib/peter-mueller/data/vornamen_frauen.txt
|
61
|
+
- lib/peter-mueller/data/nachnamen.txt
|
62
|
+
- lib/peter-mueller/data/freemail_provider.txt
|
63
|
+
- lib/peter-mueller/data/vornamen_maenner.txt
|
64
|
+
- lib/peter-mueller/data/orte.txt
|
65
|
+
- lib/peter-mueller/data/strassen.txt
|
66
|
+
- lib/peter-mueller/phonenumber.rb
|
67
|
+
- lib/peter-mueller/version.rb
|
68
|
+
- lib/peter-mueller/company.rb
|
69
|
+
- lib/peter-mueller.rb
|
70
|
+
- Rakefile
|
71
|
+
- README.rdoc
|
72
|
+
homepage: https://github.com/tvw/peter-mueller
|
73
|
+
licenses: []
|
74
|
+
post_install_message:
|
75
|
+
rdoc_options: []
|
76
|
+
require_paths:
|
77
|
+
- lib
|
78
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
79
|
+
none: false
|
80
|
+
requirements:
|
81
|
+
- - ! '>='
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '0'
|
84
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
85
|
+
none: false
|
86
|
+
requirements:
|
87
|
+
- - ! '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
requirements: []
|
91
|
+
rubyforge_project: peter-mueller
|
92
|
+
rubygems_version: 1.8.10
|
93
|
+
signing_key:
|
94
|
+
specification_version: 3
|
95
|
+
summary: A library for creating real looking but fictitious German address data.
|
96
|
+
test_files: []
|