poseur 0.1.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/.document +5 -0
- data/Gemfile +16 -0
- data/LICENSE.txt +20 -0
- data/README.md +4 -0
- data/README.rdoc +19 -0
- data/Rakefile +49 -0
- data/VERSION +1 -0
- data/lib/locales/area_codes.usa +361 -0
- data/lib/locales/postal_codes.usa +76167 -0
- data/lib/poseur/person/address.rb +20 -0
- data/lib/poseur/person/name.rb +10 -0
- data/lib/poseur/person/phone.rb +43 -0
- data/lib/poseur/person.rb +2 -0
- data/lib/poseur.rb +5 -0
- data/poseur.gemspec +74 -0
- data/spec/address_spec.rb +19 -0
- data/spec/person_spec.rb +15 -0
- data/spec/poseur_spec.rb +1 -0
- data/spec/spec_helper.rb +14 -0
- metadata +142 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
module Person
|
|
2
|
+
class Address
|
|
3
|
+
attr :street
|
|
4
|
+
attr :city
|
|
5
|
+
attr :state
|
|
6
|
+
attr :zip
|
|
7
|
+
def initialize
|
|
8
|
+
@street = Faker::Address.street_address
|
|
9
|
+
@zip, @city, @state = random_line_from_postal_code_file
|
|
10
|
+
end
|
|
11
|
+
def random_line_from_postal_code_file
|
|
12
|
+
line = nil
|
|
13
|
+
File.open("#{ROOT}/locales/postal_codes.usa") do |file|
|
|
14
|
+
lines = file.readlines
|
|
15
|
+
line = lines[Random.rand(lines.size)]
|
|
16
|
+
end
|
|
17
|
+
line.split(',').collect! { |x| x.strip }
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
module Person
|
|
2
|
+
class Phone
|
|
3
|
+
attr :number, true
|
|
4
|
+
attr :type, true
|
|
5
|
+
attr :locale, true
|
|
6
|
+
|
|
7
|
+
def initialize(type=:home, locale=nil)
|
|
8
|
+
@type = type
|
|
9
|
+
@locale = locale
|
|
10
|
+
if locale
|
|
11
|
+
@locale = locale
|
|
12
|
+
@number = number_for_locale
|
|
13
|
+
else
|
|
14
|
+
@locale, @number = random_locale_and_number
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def number_for_locale
|
|
19
|
+
random_area_code_for_locale.to_s << (1_000_000 + Random.rand(10_000_000 - 1_000_000)).to_s
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def random_line_from_postal_code_file
|
|
23
|
+
line = nil
|
|
24
|
+
File.open("#{ROOT}/locales/postal_codes.usa") do |file|
|
|
25
|
+
lines = file.readlines
|
|
26
|
+
line = lines[Random.rand(lines.size)]
|
|
27
|
+
end
|
|
28
|
+
line.split(',').collect! { |x| x.strip }
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def random_area_code_for_locale
|
|
32
|
+
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
class AreaCodeMap
|
|
38
|
+
def initialize
|
|
39
|
+
@area_codes = File.read("#{ROOT}/locales/area_codes.usa").collect! {|line| line.split(',')}
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
end
|
data/lib/poseur.rb
ADDED
data/poseur.gemspec
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# Generated by jeweler
|
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
|
4
|
+
# -*- encoding: utf-8 -*-
|
|
5
|
+
|
|
6
|
+
Gem::Specification.new do |s|
|
|
7
|
+
s.name = "poseur"
|
|
8
|
+
s.version = "0.1.0"
|
|
9
|
+
|
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
11
|
+
s.authors = ["Carl Hicks"]
|
|
12
|
+
s.date = "2012-10-05"
|
|
13
|
+
s.description = "Create fake people, with real-ish addresses."
|
|
14
|
+
s.email = "carl.hicks@gmail.com"
|
|
15
|
+
s.extra_rdoc_files = [
|
|
16
|
+
"LICENSE.txt",
|
|
17
|
+
"README.md",
|
|
18
|
+
"README.rdoc"
|
|
19
|
+
]
|
|
20
|
+
s.files = [
|
|
21
|
+
".document",
|
|
22
|
+
"Gemfile",
|
|
23
|
+
"LICENSE.txt",
|
|
24
|
+
"README.md",
|
|
25
|
+
"README.rdoc",
|
|
26
|
+
"Rakefile",
|
|
27
|
+
"VERSION",
|
|
28
|
+
"lib/locales/area_codes.usa",
|
|
29
|
+
"lib/locales/postal_codes.usa",
|
|
30
|
+
"lib/poseur.rb",
|
|
31
|
+
"lib/poseur/person.rb",
|
|
32
|
+
"lib/poseur/person/address.rb",
|
|
33
|
+
"lib/poseur/person/name.rb",
|
|
34
|
+
"lib/poseur/person/phone.rb",
|
|
35
|
+
"poseur.gemspec",
|
|
36
|
+
"spec/address_spec.rb",
|
|
37
|
+
"spec/person_spec.rb",
|
|
38
|
+
"spec/poseur_spec.rb",
|
|
39
|
+
"spec/spec_helper.rb"
|
|
40
|
+
]
|
|
41
|
+
s.homepage = "http://github.com/chicks/poseur"
|
|
42
|
+
s.licenses = ["MIT"]
|
|
43
|
+
s.require_paths = ["lib"]
|
|
44
|
+
s.rubygems_version = "1.8.12"
|
|
45
|
+
s.summary = "Create fake people, with real-ish addresses."
|
|
46
|
+
|
|
47
|
+
if s.respond_to? :specification_version then
|
|
48
|
+
s.specification_version = 3
|
|
49
|
+
|
|
50
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
|
51
|
+
s.add_runtime_dependency(%q<faker>, [">= 0"])
|
|
52
|
+
s.add_development_dependency(%q<rspec>, [">= 0"])
|
|
53
|
+
s.add_development_dependency(%q<rdoc>, [">= 0"])
|
|
54
|
+
s.add_development_dependency(%q<bundler>, [">= 0"])
|
|
55
|
+
s.add_development_dependency(%q<jeweler>, [">= 0"])
|
|
56
|
+
s.add_development_dependency(%q<simplecov>, [">= 0"])
|
|
57
|
+
else
|
|
58
|
+
s.add_dependency(%q<faker>, [">= 0"])
|
|
59
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
|
60
|
+
s.add_dependency(%q<rdoc>, [">= 0"])
|
|
61
|
+
s.add_dependency(%q<bundler>, [">= 0"])
|
|
62
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
|
63
|
+
s.add_dependency(%q<simplecov>, [">= 0"])
|
|
64
|
+
end
|
|
65
|
+
else
|
|
66
|
+
s.add_dependency(%q<faker>, [">= 0"])
|
|
67
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
|
68
|
+
s.add_dependency(%q<rdoc>, [">= 0"])
|
|
69
|
+
s.add_dependency(%q<bundler>, [">= 0"])
|
|
70
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
|
71
|
+
s.add_dependency(%q<simplecov>, [">= 0"])
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
|
2
|
+
|
|
3
|
+
describe Person::Address do
|
|
4
|
+
describe '#new' do
|
|
5
|
+
it "should return a Person::Address" do
|
|
6
|
+
Person::Address.new.should be_a_kind_of(Person::Address)
|
|
7
|
+
end
|
|
8
|
+
let(:address) { Person::Address.new }
|
|
9
|
+
it "should return a random line from the postal_code file" do
|
|
10
|
+
address.random_line_from_postal_code_file.should be_a_kind_of(Array)
|
|
11
|
+
end
|
|
12
|
+
it "should " do
|
|
13
|
+
address.street.should be_a_kind_of(String)
|
|
14
|
+
address.city.should be_a_kind_of(String)
|
|
15
|
+
address.state.should be_a_kind_of(String)
|
|
16
|
+
address.zip.should be_a_kind_of(String)
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
data/spec/person_spec.rb
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
|
2
|
+
|
|
3
|
+
describe Person::Name do
|
|
4
|
+
describe '#new' do
|
|
5
|
+
it "should return a Person::Name" do
|
|
6
|
+
Person::Name.new.should be_a_kind_of(Person::Name)
|
|
7
|
+
end
|
|
8
|
+
it "should return parts of the name" do
|
|
9
|
+
name = Person::Name.new
|
|
10
|
+
name.first.should be_a_kind_of(String)
|
|
11
|
+
name.middle.should be_a_kind_of(String)
|
|
12
|
+
name.last.should be_a_kind_of(String)
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
data/spec/poseur_spec.rb
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
data/spec/spec_helper.rb
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
|
2
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
|
3
|
+
require 'rspec'
|
|
4
|
+
require 'poseur'
|
|
5
|
+
require 'pp'
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
# Requires supporting files with custom matchers and macros, etc,
|
|
9
|
+
# in ./support/ and its subdirectories.
|
|
10
|
+
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
|
11
|
+
|
|
12
|
+
RSpec.configure do |config|
|
|
13
|
+
|
|
14
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: poseur
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
prerelease:
|
|
5
|
+
version: 0.1.0
|
|
6
|
+
platform: ruby
|
|
7
|
+
authors:
|
|
8
|
+
- Carl Hicks
|
|
9
|
+
autorequire:
|
|
10
|
+
bindir: bin
|
|
11
|
+
cert_chain: []
|
|
12
|
+
|
|
13
|
+
date: 2012-10-05 00:00:00 Z
|
|
14
|
+
dependencies:
|
|
15
|
+
- !ruby/object:Gem::Dependency
|
|
16
|
+
name: faker
|
|
17
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
|
18
|
+
none: false
|
|
19
|
+
requirements:
|
|
20
|
+
- - ">="
|
|
21
|
+
- !ruby/object:Gem::Version
|
|
22
|
+
version: "0"
|
|
23
|
+
type: :runtime
|
|
24
|
+
prerelease: false
|
|
25
|
+
version_requirements: *id001
|
|
26
|
+
- !ruby/object:Gem::Dependency
|
|
27
|
+
name: rspec
|
|
28
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
|
29
|
+
none: false
|
|
30
|
+
requirements:
|
|
31
|
+
- - ">="
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: "0"
|
|
34
|
+
type: :development
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: *id002
|
|
37
|
+
- !ruby/object:Gem::Dependency
|
|
38
|
+
name: rdoc
|
|
39
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
|
40
|
+
none: false
|
|
41
|
+
requirements:
|
|
42
|
+
- - ">="
|
|
43
|
+
- !ruby/object:Gem::Version
|
|
44
|
+
version: "0"
|
|
45
|
+
type: :development
|
|
46
|
+
prerelease: false
|
|
47
|
+
version_requirements: *id003
|
|
48
|
+
- !ruby/object:Gem::Dependency
|
|
49
|
+
name: bundler
|
|
50
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
|
51
|
+
none: false
|
|
52
|
+
requirements:
|
|
53
|
+
- - ">="
|
|
54
|
+
- !ruby/object:Gem::Version
|
|
55
|
+
version: "0"
|
|
56
|
+
type: :development
|
|
57
|
+
prerelease: false
|
|
58
|
+
version_requirements: *id004
|
|
59
|
+
- !ruby/object:Gem::Dependency
|
|
60
|
+
name: jeweler
|
|
61
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
|
62
|
+
none: false
|
|
63
|
+
requirements:
|
|
64
|
+
- - ">="
|
|
65
|
+
- !ruby/object:Gem::Version
|
|
66
|
+
version: "0"
|
|
67
|
+
type: :development
|
|
68
|
+
prerelease: false
|
|
69
|
+
version_requirements: *id005
|
|
70
|
+
- !ruby/object:Gem::Dependency
|
|
71
|
+
name: simplecov
|
|
72
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
|
73
|
+
none: false
|
|
74
|
+
requirements:
|
|
75
|
+
- - ">="
|
|
76
|
+
- !ruby/object:Gem::Version
|
|
77
|
+
version: "0"
|
|
78
|
+
type: :development
|
|
79
|
+
prerelease: false
|
|
80
|
+
version_requirements: *id006
|
|
81
|
+
description: Create fake people, with real-ish addresses.
|
|
82
|
+
email: carl.hicks@gmail.com
|
|
83
|
+
executables: []
|
|
84
|
+
|
|
85
|
+
extensions: []
|
|
86
|
+
|
|
87
|
+
extra_rdoc_files:
|
|
88
|
+
- LICENSE.txt
|
|
89
|
+
- README.md
|
|
90
|
+
- README.rdoc
|
|
91
|
+
files:
|
|
92
|
+
- .document
|
|
93
|
+
- Gemfile
|
|
94
|
+
- LICENSE.txt
|
|
95
|
+
- README.md
|
|
96
|
+
- README.rdoc
|
|
97
|
+
- Rakefile
|
|
98
|
+
- VERSION
|
|
99
|
+
- lib/locales/area_codes.usa
|
|
100
|
+
- lib/locales/postal_codes.usa
|
|
101
|
+
- lib/poseur.rb
|
|
102
|
+
- lib/poseur/person.rb
|
|
103
|
+
- lib/poseur/person/address.rb
|
|
104
|
+
- lib/poseur/person/name.rb
|
|
105
|
+
- lib/poseur/person/phone.rb
|
|
106
|
+
- poseur.gemspec
|
|
107
|
+
- spec/address_spec.rb
|
|
108
|
+
- spec/person_spec.rb
|
|
109
|
+
- spec/poseur_spec.rb
|
|
110
|
+
- spec/spec_helper.rb
|
|
111
|
+
homepage: http://github.com/chicks/poseur
|
|
112
|
+
licenses:
|
|
113
|
+
- MIT
|
|
114
|
+
post_install_message:
|
|
115
|
+
rdoc_options: []
|
|
116
|
+
|
|
117
|
+
require_paths:
|
|
118
|
+
- lib
|
|
119
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
120
|
+
none: false
|
|
121
|
+
requirements:
|
|
122
|
+
- - ">="
|
|
123
|
+
- !ruby/object:Gem::Version
|
|
124
|
+
hash: 3103093979997127076
|
|
125
|
+
segments:
|
|
126
|
+
- 0
|
|
127
|
+
version: "0"
|
|
128
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
129
|
+
none: false
|
|
130
|
+
requirements:
|
|
131
|
+
- - ">="
|
|
132
|
+
- !ruby/object:Gem::Version
|
|
133
|
+
version: "0"
|
|
134
|
+
requirements: []
|
|
135
|
+
|
|
136
|
+
rubyforge_project:
|
|
137
|
+
rubygems_version: 1.8.12
|
|
138
|
+
signing_key:
|
|
139
|
+
specification_version: 3
|
|
140
|
+
summary: Create fake people, with real-ish addresses.
|
|
141
|
+
test_files: []
|
|
142
|
+
|