peter-mueller 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
@@ -0,0 +1,9 @@
1
+ module PeterMueller
2
+ module VERSION #:nodoc:
3
+ MAJOR = 1
4
+ MINOR = 0
5
+ TINY = 0
6
+
7
+ STRING = [MAJOR, MINOR, TINY].join('.')
8
+ end
9
+ end
@@ -0,0 +1,7 @@
1
+ require "peter-mueller/version"
2
+ require "peter-mueller/data"
3
+ require "peter-mueller/address"
4
+ require "peter-mueller/company"
5
+ require "peter-mueller/email"
6
+ require "peter-mueller/person"
7
+ require "peter-mueller/phonenumber"
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: []