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.
@@ -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,10 @@
1
+ module Person
2
+ class Name
3
+ attr :first
4
+ attr :middle
5
+ attr :last
6
+ def initialize
7
+ @first, @middle, @last = Faker::Name.first_name, Faker::Name.first_name, Faker::Name.last_name
8
+ end
9
+ end
10
+ 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
@@ -0,0 +1,2 @@
1
+ require 'poseur/person/address'
2
+ require 'poseur/person/name'
data/lib/poseur.rb ADDED
@@ -0,0 +1,5 @@
1
+ ROOT = File.expand_path(File.dirname(__FILE__))
2
+
3
+ require 'faker'
4
+
5
+ require 'poseur/person'
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
@@ -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
@@ -0,0 +1 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
@@ -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
+