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.
@@ -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: []