randomperson 0.0.19 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. data/.gitignore +2 -0
  2. data/CHANGELOG +2 -0
  3. data/Manifest +22 -2
  4. data/README.markdown +475 -0
  5. data/lib/randomperson/Loader.rb +62 -0
  6. data/lib/randomperson/Names/AmericanFemaleFirst.rb +10 -8
  7. data/lib/randomperson/Names/AmericanLast.rb +13 -10
  8. data/lib/randomperson/Names/AmericanMaleFirst.rb +11 -8
  9. data/lib/randomperson/Names/AmericanPrefix.rb +16 -18
  10. data/lib/randomperson/Names/AmericanSuffix.rb +26 -16
  11. data/lib/randomperson/Names/AncientGreekFemaleFirst.rb +12 -8
  12. data/lib/randomperson/Names/AncientGreekLast.rb +11 -8
  13. data/lib/randomperson/Names/AncientGreekMaleFirst.rb +11 -8
  14. data/lib/randomperson/Names/AnyLast.rb +11 -9
  15. data/lib/randomperson/Names/BasqueFemaleFirst.rb +10 -9
  16. data/lib/randomperson/Names/BasqueLast.rb +9 -8
  17. data/lib/randomperson/Names/BasqueMaleFirst.rb +10 -9
  18. data/lib/randomperson/Names/BritishPrefix.rb +10 -16
  19. data/lib/randomperson/Names/BritishSuffix.rb +21 -16
  20. data/lib/randomperson/Names/EnglishFemaleFirst.rb +10 -9
  21. data/lib/randomperson/Names/EnglishLast.rb +12 -11
  22. data/lib/randomperson/Names/EnglishMaleFirst.rb +10 -9
  23. data/lib/randomperson/Names/EnglishPrefix.rb +11 -15
  24. data/lib/randomperson/Names/FinnishFemaleFirst.rb +10 -8
  25. data/lib/randomperson/Names/FinnishLast.rb +9 -8
  26. data/lib/randomperson/Names/FinnishMaleFirst.rb +10 -9
  27. data/lib/randomperson/Names/FinnishPrefix.rb +16 -18
  28. data/lib/randomperson/Names/FrenchFemaleFirst.rb +10 -9
  29. data/lib/randomperson/Names/FrenchLast.rb +12 -11
  30. data/lib/randomperson/Names/FrenchMaleFirst.rb +11 -10
  31. data/lib/randomperson/Names/GermanFemaleFirst.rb +10 -9
  32. data/lib/randomperson/Names/GermanLast.rb +9 -8
  33. data/lib/randomperson/Names/GermanMaleFirst.rb +10 -9
  34. data/lib/randomperson/Names/ScottishFemaleFirst.rb +10 -9
  35. data/lib/randomperson/Names/ScottishLast.rb +11 -10
  36. data/lib/randomperson/Names/ScottishMaleFirst.rb +13 -12
  37. data/lib/randomperson/Names/ScottishPrefix.rb +10 -16
  38. data/lib/randomperson/Names/SpanishFemaleFirst.rb +11 -10
  39. data/lib/randomperson/Names/SpanishLast.rb +15 -12
  40. data/lib/randomperson/Names/SpanishMaleFirst.rb +12 -11
  41. data/lib/randomperson/Names/SpanishPrefix.rb +17 -19
  42. data/lib/randomperson/Names/SwedishFemaleFirst.rb +10 -9
  43. data/lib/randomperson/Names/SwedishLast.rb +10 -9
  44. data/lib/randomperson/Names/SwedishMaleFirst.rb +15 -14
  45. data/lib/randomperson/Names/ThaiFemaleFirst.rb +9 -8
  46. data/lib/randomperson/Names/ThaiFirst.rb +9 -8
  47. data/lib/randomperson/Names/ThaiLast.rb +9 -8
  48. data/lib/randomperson/Names/ThaiMaleFirst.rb +9 -8
  49. data/lib/randomperson/Names/ThaiRomanisedFemaleFirst.rb +10 -9
  50. data/lib/randomperson/Names/ThaiRomanisedLast.rb +11 -10
  51. data/lib/randomperson/Names/ThaiRomanisedMaleFirst.rb +10 -9
  52. data/lib/randomperson/Names/WelshFemaleFirst.rb +9 -8
  53. data/lib/randomperson/Names/WelshLast.rb +11 -10
  54. data/lib/randomperson/Names/WelshMaleFirst.rb +9 -8
  55. data/lib/randomperson/Names/WelshPrefix.rb +10 -16
  56. data/lib/randomperson/Outputter.rb +53 -0
  57. data/lib/randomperson/demographic.rb +75 -0
  58. data/lib/randomperson/ext/Array.rb +6 -2
  59. data/lib/randomperson/generator.rb +54 -77
  60. data/lib/randomperson/name.rb +18 -13
  61. data/lib/randomperson/person.rb +2 -0
  62. data/lib/randomperson/version.rb +1 -1
  63. data/lib/randomperson.rb +126 -1
  64. data/spec/AmericanSuffix_spec.rb +37 -0
  65. data/spec/AnyLast_spec.rb +25 -0
  66. data/spec/Last_and_First_Names_spec.rb +113 -0
  67. data/spec/array_spec.rb +49 -0
  68. data/spec/demographic_spec.rb +15 -0
  69. data/spec/generator_spec.rb +1 -4
  70. data/spec/name_spec.rb +3 -2
  71. data/spec/randomperson_spec.rb +321 -0
  72. data/spec/rspec_helper.rb +22 -0
  73. data/spec/support/helpers.rb +13 -0
  74. data/spec/support/matchers/all.rb +14 -0
  75. data/spec/support/matchers/be_in.rb +9 -0
  76. data/spec/support/shared_examples/names.rb +59 -0
  77. data/test/benchmarks/concat_or_add.rb +30 -0
  78. data/test/benchmarks/my_assoc_or_select.rb +60 -0
  79. data.tar.gz.sig +0 -0
  80. metadata +35 -7
  81. metadata.gz.sig +2 -3
  82. data/README +0 -324
  83. data/lib/randomperson/choice.rb +0 -113
  84. data/spec/choice_spec.rb +0 -13
@@ -0,0 +1,321 @@
1
+ # encoding: UTF-8
2
+
3
+ require_relative "./rspec_helper.rb"
4
+ require_relative "../lib/randomperson.rb"
5
+
6
+ shared_examples "a Person" do
7
+ it { subject.first.should_not be_nil }
8
+ it { subject.first.should be_a_kind_of String }
9
+ it { subject.last.should_not be_nil }
10
+ it { subject.last.should be_a_kind_of String }
11
+ it { subject.prefix.should_not be_nil }
12
+ it { subject.prefix.should be_a_kind_of String }
13
+ end
14
+
15
+ shared_examples "there is more than one demographic" do
16
+ context "Given a new demographic" do
17
+ before(:all) { r.demographic("America").add_American }
18
+ context "but not changing to it" do
19
+ let(:last_run) { r.person }
20
+ subject { last_run }
21
+ it { should equal first_run }
22
+ context "changing to the new demographic" do
23
+ let(:new_demo_person) { r.person "America" }
24
+ subject { new_demo_person }
25
+ it { should_not equal last_run }
26
+ end
27
+ end
28
+ end
29
+ end
30
+
31
+ shared_examples "getting the last person" do
32
+ context "on first run" do
33
+ subject{ first_run }
34
+ it_behaves_like "a Person"
35
+ context "on next run" do
36
+ context "Given no demographic" do
37
+ subject { r.person }
38
+ it { should equal first_run }
39
+ end
40
+ context "Given the same demographic" do
41
+ subject{ r.person "Spain" }
42
+ it { should equal first_run }
43
+ it_behaves_like "there is more than one demographic"
44
+ end
45
+ end
46
+ end
47
+ end
48
+
49
+ shared_examples "clear or reset" do
50
+ let(:r) { RandomPerson() }
51
+ before(:all) {
52
+ r.demographic("Spain").add_Spanish
53
+ r.demographic("Finland").add_Finnish
54
+ r.generate "Spain"
55
+ r.generate
56
+ r.generate "Finland"
57
+ r.generate
58
+ r.generate "Spain"
59
+ }
60
+ subject { r.clear }
61
+ it { should be_nil }
62
+ specify { r.should_not be_nil }
63
+ specify { r.should be_a_kind_of RandomPerson::Facade }
64
+ specify { r.generators.should be_empty }
65
+ specify { r.demographics.should be_empty }
66
+ specify { expect { r.person }.to raise_error }
67
+ specify { expect { r.generate }.to raise_error }
68
+ specify { expect { r.gen_new }.to raise_error }
69
+ end
70
+
71
+
72
+ describe RandomPerson do
73
+
74
+ describe :person do
75
+ let(:r) { RandomPerson() }
76
+ context "Given a demographic" do
77
+ context "With a name" do
78
+ context "and one demographic specified" do
79
+ before(:all) {
80
+ r.demographic("Spain").add_Spanish
81
+ }
82
+ let(:first_run) { r.person "Spain" }
83
+ subject{ first_run }
84
+ it_behaves_like "a Person"
85
+ context "on next run" do
86
+ context "Given no demographic" do
87
+ subject { r.person }
88
+ it { should equal first_run }
89
+ context "and then given the same demographic explicitly" do
90
+ subject{ r.person "Spain" }
91
+ it { should equal first_run }
92
+ context "and then given a demo name that doesn't exist" do
93
+ subject{ r.person "Spurious" }
94
+ it { should be_nil }
95
+ context "and then given no demo name" do
96
+ subject{ r.person }
97
+ it { should equal first_run }
98
+ end
99
+ context "and then given the last good demographic explicitly" do
100
+ subject{ r.person "Spain" }
101
+ it { should equal first_run }
102
+ end
103
+ end
104
+ end
105
+ end
106
+ end
107
+ end
108
+
109
+ context "and no demographic specified" do
110
+ before(:all) {
111
+ r.demographic("Spain").add_Spanish
112
+ }
113
+ let(:first_run) { r.person }
114
+ it_behaves_like "getting the last person"
115
+ end
116
+
117
+ end
118
+
119
+ context "Without a name" do
120
+ context "and with a demographic specified" do
121
+ before(:all) {
122
+ r.clear
123
+ r.demographic.add_Spanish
124
+ }
125
+ subject { r.person "Spain" }
126
+ it { should be_nil }
127
+ end
128
+
129
+ context "and no demographic specified" do
130
+ before(:all) {
131
+ r.demographic.add_Spanish
132
+ }
133
+ let(:first_run) { r.person }
134
+ subject { r.person }
135
+ it { should equal first_run }
136
+ context "on repeated runs" do
137
+ before(:all) {
138
+ r.clear
139
+ r.demographic.add_Spanish
140
+ r.generate
141
+ r.generate
142
+ }
143
+ let(:last) { r.person }
144
+ subject { r.person }
145
+ it { should equal last }
146
+ end
147
+
148
+ end
149
+ end
150
+ end
151
+ context "With no demographic" do
152
+ context "Already loaded" do
153
+ subject { r.person }
154
+ specify { expect { subject }.to raise_error }
155
+ context "and given a demo name" do
156
+ subject { r.person "Not loaded" }
157
+ specify { expect { subject }.to raise_error }
158
+ end
159
+ end
160
+ context "Because they've been cleared" do
161
+ subject { r.person }
162
+ specify { expect { subject }.to raise_error }
163
+ context "and given a demo name" do
164
+ subject { r.person "Been cleared" }
165
+ specify { expect { subject }.to raise_error }
166
+ end
167
+ end
168
+ end
169
+ end # :person
170
+
171
+
172
+ describe :generators do
173
+ let(:r) { RandomPerson() }
174
+ before(:all) {
175
+ r.demographic("Spain").add_Spanish
176
+ r.demographic("Finland").add_Finnish
177
+ }
178
+ context "Before first run" do
179
+ subject { r.generators }
180
+ it { should be_empty }
181
+ end
182
+ context "First run" do
183
+ before {
184
+ r.generate "Spain"
185
+ r.generate
186
+ r.generate "Finland"
187
+ r.generate
188
+ r.generate "Spain"
189
+ }
190
+ subject { r.generators }
191
+ it { should_not be_empty }
192
+ specify { subject.keys.should include("Spain", "Finland") }
193
+ end
194
+ end # generators
195
+
196
+ describe :clear do
197
+ it_behaves_like "clear or reset"
198
+ end
199
+
200
+ describe :reset do
201
+ it_behaves_like "clear or reset"
202
+ end
203
+
204
+ describe :generate do
205
+ let(:r) { RandomPerson() }
206
+ context "Before a demographic has been loaded" do
207
+ subject { r.generate }
208
+ specify { expect { subject }.to raise_error }
209
+ end
210
+ context "When there is a demographic loaded" do
211
+ before(:all) {
212
+ r.demographic("Spain").add_Spanish
213
+ }
214
+ let(:people) {
215
+ people = []
216
+ 1000.times{ people << r.generate }
217
+ people
218
+ }
219
+ context "Given a demographic name" do
220
+ context "That has been added to demographics" do
221
+ subject { r.generate "Spain" }
222
+ it { should_not be_nil }
223
+ it { should be_a_kind_of RandomPerson::Person }
224
+ it_behaves_like "a Person"
225
+ it { should_not satisfy {|person| people.include? person } }
226
+ end
227
+ context "That has not been added to demographics" do
228
+ subject { r.generate "Spurious" }
229
+ it { should be_nil }
230
+ end
231
+ end
232
+ context "Given a no demographic name" do
233
+ subject { r.generate }
234
+ it { should_not be_nil }
235
+ it { should be_a_kind_of RandomPerson::Person }
236
+ it_behaves_like "a Person"
237
+ it { should_not satisfy {|person| people.include? person } }
238
+ end
239
+ end
240
+ context "When there is no demographic loaded" do
241
+ context "Given a demographic name" do
242
+ subject { r.generate "Spain" }
243
+ end
244
+ end
245
+ end
246
+
247
+
248
+ describe :demographics do
249
+ let(:r) { RandomPerson() }
250
+ context "With no demographics loaded" do
251
+ subject { r.demographics }
252
+ it { should be_empty }
253
+ it { should be_a_kind_of Hash }
254
+ end
255
+ context "Given a demographic" do
256
+ context "With a name" do
257
+ before(:all) {
258
+ r.demographic("Spain").add_Spanish
259
+ }
260
+ subject { r.demographics }
261
+ it { should_not be_empty }
262
+ it { should be_a_kind_of Hash }
263
+ specify { subject.first.should be_a_kind_of Array }
264
+ specify { subject.first.first.should be_a_kind_of String }
265
+ specify { subject.first.last.should be_a_kind_of RandomPerson::Demographic }
266
+ end
267
+ context "Without a name" do
268
+ before(:all) {
269
+ r.demographic.add_Spanish
270
+ }
271
+ subject { r.demographics }
272
+ it { should_not be_empty }
273
+ it { should be_a_kind_of Hash }
274
+ specify { subject.first.should be_a_kind_of Array }
275
+ specify { subject.first.first.should be_a_kind_of String }
276
+ specify { subject.first.last.should be_a_kind_of RandomPerson::Demographic }
277
+ end
278
+
279
+ context "With options" do
280
+ context "With a named demographic" do
281
+ let(:lower){ rand(99) }
282
+ let(:upper){ rand(100 - lower) + lower }
283
+ let(:females) { rand(10) }
284
+ let(:males) { rand(10) }
285
+ before(:all) {
286
+ r.demographic("Random!", gender_ratio: [females,males] , age_lower: lower, age_upper: upper ).add_Spanish
287
+ }
288
+ subject { r.demographics }
289
+ it { should_not be_empty }
290
+ it { should be_a_kind_of Hash }
291
+ specify { subject.first.should be_a_kind_of Array }
292
+ specify { subject.first.first.should be_a_kind_of String }
293
+ specify { subject.first.last.should be_a_kind_of RandomPerson::Demographic }
294
+ specify { subject.first.last.age_lower.should == lower }
295
+ specify { subject.first.last.age_upper.should == upper }
296
+ specify { subject.first.last.gender_ratio.should == [females,males] }
297
+ end
298
+ context "Without a named demographic" do
299
+ let(:lower){ rand(99) }
300
+ let(:upper){ rand(100 - lower) + lower }
301
+ let(:females) { rand(10) }
302
+ let(:males) { rand(10) }
303
+ before(:all) {
304
+ r.demographic(gender_ratio: [females,males] , age_lower: lower, age_upper: upper ).add_Spanish
305
+ }
306
+ subject { r.demographics }
307
+ it { should_not be_empty }
308
+ it { should be_a_kind_of Hash }
309
+ specify { subject.first.should be_a_kind_of Array }
310
+ specify { subject.first.first.should be_a_kind_of String }
311
+ specify { subject.first.last.should be_a_kind_of RandomPerson::Demographic }
312
+ specify { subject.first.last.age_lower.should == lower }
313
+ specify { subject.first.last.age_upper.should == upper }
314
+ specify { subject.first.last.gender_ratio.should == [females,males] }
315
+ end
316
+ end
317
+ end
318
+ end
319
+
320
+
321
+ end
@@ -0,0 +1,22 @@
1
+ # encoding: UTF-8
2
+
3
+ require "rspec"
4
+ require 'simplecov'
5
+ #require_relative "./support/helpers.rb"
6
+
7
+ SimpleCov.start
8
+
9
+ RSpec.configure do |c|
10
+ # c.include RandomPerson::Spec::Helpers
11
+ # c.treat_symbols_as_metadata_keys_with_true_values = true
12
+ end
13
+
14
+ spec_dir = File.expand_path( File.dirname __FILE__ )
15
+ Dir[ File.join( spec_dir, "/support/**/*.rb")].each {|f| require f}
16
+
17
+ require "logger"
18
+ lg = Logger.new STDOUT
19
+ lg.level = Logger::DEBUG
20
+ Lg = lg
21
+
22
+
@@ -0,0 +1,13 @@
1
+ # encoding: UTF-8
2
+
3
+ module RandomPerson
4
+ module Spec
5
+
6
+ module Helpers
7
+
8
+ def all_kind_of?( collection, kind )
9
+ collection.all? {|c| c.kind_of? kind }
10
+ end
11
+ end # Helpers
12
+ end # Spec
13
+ end # RandomPerson
@@ -0,0 +1,14 @@
1
+ # encoding: UTF-8
2
+
3
+ require "rspec/expectations"
4
+
5
+ RSpec::Matchers.define :all_be_a_kind_of do |kind|
6
+ match do |actual|
7
+ all_kind_of? actual, kind
8
+ end
9
+
10
+ def all_kind_of?( collection, kind )
11
+ collection.all? {|c| c.kind_of? kind }
12
+ end
13
+
14
+ end
@@ -0,0 +1,9 @@
1
+ # encoding: UTF-8
2
+
3
+ require "rspec/expectations"
4
+
5
+ RSpec::Matchers.define :be_in do |collection|
6
+ match do |actual|
7
+ collection.include? actual
8
+ end
9
+ end
@@ -0,0 +1,59 @@
1
+ # encoding: UTF-8
2
+
3
+ dir = File.dirname(__FILE__)
4
+ spec_dir = File.expand_path( File.join dir, "../../" )
5
+
6
+ require_relative File.expand_path( File.join spec_dir, "../lib/randomperson/person.rb" )
7
+
8
+ shared_examples "it cares about gender and/or age" do |opts={}|
9
+ opts.each{|k,v| opts[k] = { gender: "m", times: 5, age: rand(83)+17, }.merge( v ) }
10
+
11
+ opts.each_pair do |k,v|
12
+ context "Given a #{k.to_s.gsub("_", " ")}" do
13
+ it_should_behave_like "a name generator" , opts[k]
14
+ end
15
+ end
16
+ end
17
+
18
+ shared_examples "a name generator" do |opts={}|
19
+ opts = {times: 1000, gender: "f", age: rand(100),}.merge( opts )
20
+ opts[:rgx] = /^\p{Upper}\p{Alpha}+$/x if opts[:in].nil? && opts[:rgx].nil?
21
+ describe :execute do
22
+ subject { instance.execute RandomPerson::Person.new( gender: opts[:gender], age: opts[:age] ) }
23
+ it { should_not be_nil }
24
+
25
+ opts[:times].times do |_|
26
+ opts[:rgx].nil? ? nil : it { should match opts[:rgx] }
27
+ opts[:in].nil? ? nil : it { should be_in opts[:in] }
28
+ end
29
+ end # execute
30
+ end
31
+
32
+
33
+ shared_examples "a Name class", :parent => "Name" do
34
+
35
+ describe "Generally" do
36
+ subject { instance }
37
+ it { should_not be_nil }
38
+ it { should respond_to( :execute ) }
39
+ it { should respond_to(:formats ) }
40
+ it { should respond_to( :formats_ratiod ) }
41
+ it { should respond_to(:names)}
42
+ it { should respond_to(:possibles)}
43
+ specify { subject.qualified_const_get( "Names" ).should_not be_empty }
44
+ end
45
+
46
+
47
+ describe :formats_ratiod do
48
+ subject { instance.formats_ratiod }
49
+ it { should be_a_kind_of Array }
50
+ it { should all_be_a_kind_of Range }
51
+ specify { (0..99).all?{|i| subject.index_in_range( i ).kind_of? Fixnum }.should be_true } # this should make sure that format ratios are specified properly
52
+ end
53
+
54
+ describe :names do
55
+ subject { instance.names }
56
+ it { should be_a_kind_of Array }
57
+ it { should all_be_a_kind_of String }
58
+ end
59
+ end
@@ -0,0 +1,30 @@
1
+ require "benchmark"
2
+ require_relative "../lib/randomperson/Names/SpanishLast.rb"
3
+
4
+ S = RandomPerson::Names::SpanishLast.new
5
+
6
+ Benchmark.bm do |b|
7
+ b.report( "+ " ) do
8
+ a = ""
9
+ 1_000_000.times {
10
+ S.names.rand +
11
+ ' ' +
12
+ S.names.rand
13
+ }
14
+ end
15
+
16
+ b.report( '#{}' ) do
17
+ a = ""
18
+ 1_000_000.times {
19
+ "#{S.names.rand} #{S.names.rand}"
20
+ }
21
+ end
22
+
23
+ # this was just too slow
24
+ # b.report( "concat " ) do
25
+ # a = ""
26
+ # 1_000_000.times {
27
+ # S.names.rand.concat(' ').concat( S.names.rand )
28
+ # }
29
+ # end
30
+ end
@@ -0,0 +1,60 @@
1
+ require "benchmark"
2
+
3
+ class Hash
4
+ def by_index( n )
5
+ self.each_with_index { |item, index| break item if index == n }
6
+ end
7
+ end
8
+
9
+ class Array
10
+ def index_in_range( n )
11
+ self.each_with_index do |x, i|
12
+ return i if x === n
13
+ end
14
+ return nil
15
+ end
16
+ end
17
+
18
+ Times = 1000_000
19
+ Formats_ratiod = [ 0..23, 24..55, 56..74, 75..90, 91..96, 97..99 ]
20
+ Formats = Formats_ratiod.map{|x| x.to_s}
21
+
22
+ Current = Hash[ (1..Formats_ratiod.length).map{|x| x.to_s.to_sym}.zip Formats ]
23
+
24
+ Ranges = Hash[ Formats_ratiod.zip Formats ]
25
+
26
+ r = []
27
+ max = Formats_ratiod.last.end + 1
28
+ Times.times {|_| r << rand( max ) }
29
+
30
+ R = r
31
+ r = nil
32
+
33
+ def current( r )
34
+ i = Formats_ratiod.index_in_range( r )
35
+ f = Current.by_index(i).last
36
+ end
37
+
38
+ def array_contender( r )
39
+ i = Formats_ratiod.index_in_range( r )
40
+ f = Formats[i]
41
+ end
42
+
43
+ def hash_with_ranges_contender( r )
44
+ f = Ranges.each_pair{|k,v| break v if k === r }
45
+ end
46
+
47
+
48
+ Benchmark.bmbm do |b|
49
+ b.report( 'a ' ) do
50
+ Times.times {|i| array_contender R[i] }
51
+ end
52
+
53
+ b.report( 'h ' ) do
54
+ Times.times {|i| array_contender R[i] }
55
+ end
56
+
57
+ b.report( "c " ) do
58
+ Times.times {|i| current R[i] }
59
+ end
60
+ end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: randomperson
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.19
4
+ version: 1.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -50,7 +50,8 @@ cert_chain:
50
50
  -----END CERTIFICATE-----
51
51
 
52
52
  '
53
- date: 2011-06-21 00:00:00.000000000Z
53
+ date: 2011-11-15 00:00:00.000000000 +00:00
54
+ default_executable:
54
55
  dependencies: []
55
56
  description: ! ' RandomPerson is a port to Ruby of Perl''s Data::RandomPerson.
56
57
  Use it to generate random persons given various parameters, such as country, age
@@ -65,10 +66,11 @@ files:
65
66
  - .gitignore
66
67
  - CHANGELOG
67
68
  - Manifest
68
- - README
69
+ - README.markdown
69
70
  - Rakefile
70
71
  - gem-public_cert.pem
71
72
  - lib/randomperson.rb
73
+ - lib/randomperson/Loader.rb
72
74
  - lib/randomperson/Names/AmericanFemaleFirst.rb
73
75
  - lib/randomperson/Names/AmericanLast.rb
74
76
  - lib/randomperson/Names/AmericanMaleFirst.rb
@@ -119,7 +121,8 @@ files:
119
121
  - lib/randomperson/Names/WelshLast.rb
120
122
  - lib/randomperson/Names/WelshMaleFirst.rb
121
123
  - lib/randomperson/Names/WelshPrefix.rb
122
- - lib/randomperson/choice.rb
124
+ - lib/randomperson/Outputter.rb
125
+ - lib/randomperson/demographic.rb
123
126
  - lib/randomperson/ext/Array.rb
124
127
  - lib/randomperson/ext/Date.rb
125
128
  - lib/randomperson/ext/Enumerable.rb
@@ -132,11 +135,24 @@ files:
132
135
  - lib/randomperson/ratio.rb
133
136
  - lib/randomperson/version.rb
134
137
  - randomperson.gemspec
135
- - spec/choice_spec.rb
138
+ - spec/AmericanSuffix_spec.rb
139
+ - spec/AnyLast_spec.rb
140
+ - spec/Last_and_First_Names_spec.rb
141
+ - spec/array_spec.rb
142
+ - spec/demographic_spec.rb
136
143
  - spec/generator_spec.rb
137
144
  - spec/name_spec.rb
145
+ - spec/randomperson_spec.rb
146
+ - spec/rspec_helper.rb
147
+ - spec/support/helpers.rb
148
+ - spec/support/matchers/all.rb
149
+ - spec/support/matchers/be_in.rb
150
+ - spec/support/shared_examples/names.rb
151
+ - test/benchmarks/concat_or_add.rb
152
+ - test/benchmarks/my_assoc_or_select.rb
138
153
  - test/test_Choice.rb
139
154
  - test/test_Generator.rb
155
+ has_rdoc: true
140
156
  homepage: http://github.com/yb66/RandomPerson
141
157
  licenses: []
142
158
  post_install_message:
@@ -157,13 +173,25 @@ required_rubygems_version: !ruby/object:Gem::Requirement
157
173
  version: '0'
158
174
  requirements: []
159
175
  rubyforge_project:
160
- rubygems_version: 1.8.5
176
+ rubygems_version: 1.6.2
161
177
  signing_key:
162
178
  specification_version: 3
163
179
  summary: A gem for generating random persons :)
164
180
  test_files:
165
- - spec/choice_spec.rb
181
+ - spec/AmericanSuffix_spec.rb
182
+ - spec/AnyLast_spec.rb
183
+ - spec/Last_and_First_Names_spec.rb
184
+ - spec/array_spec.rb
185
+ - spec/demographic_spec.rb
166
186
  - spec/generator_spec.rb
167
187
  - spec/name_spec.rb
188
+ - spec/randomperson_spec.rb
189
+ - spec/rspec_helper.rb
190
+ - spec/support/helpers.rb
191
+ - spec/support/matchers/all.rb
192
+ - spec/support/matchers/be_in.rb
193
+ - spec/support/shared_examples/names.rb
194
+ - test/benchmarks/concat_or_add.rb
195
+ - test/benchmarks/my_assoc_or_select.rb
168
196
  - test/test_Choice.rb
169
197
  - test/test_Generator.rb
metadata.gz.sig CHANGED
@@ -1,3 +1,2 @@
1
- Q�?��pd)��ZS�Ĩ|�^r2mF*�%�3���v�q�'#
2
- n��+dJn�/�Y��攟xurS��j�[t̨��O<��,!4C��#�(��}�#��nOٴI��RL/ �_�D{�����a����s��eeT��ȑ���)~�ܘ,Ǥ]��$/�b(�a��mL��|�
3
- 9G$�tm�KxP�8:W��M�9?t~����<�˵��6��qVS'�Q1MH1�Ճ N�=˜BFV �/��
1
+ c�G2e��Ci����w��iX�^X5��EP�q鬿[;G7˻!o�!f�<�cqc��pb�P)�9~����q�E<�Kp�w�:�a���fA$=���|?�
2
+ �m�!9�U��mGz�����:�/NE13B��ɗȊfѲ_F P[������lI0��73�ӫ�_�[z�N�����o�,e��t0���`����8����);��40��5Q+eV%iQ����pu���g1 F�U�L$