ffaker 1.16.0 → 1.16.1
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/Changelog.rdoc +3 -0
- data/ffaker.gemspec +2 -2
- data/lib/ffaker.rb +5 -10
- data/lib/ffaker/address.rb +1 -1
- data/lib/ffaker/address_mx.rb +4 -0
- data/lib/ffaker/identification.rb +2 -2
- data/lib/ffaker/movie.rb +20 -19
- data/lib/ffaker/ssn_se.rb +7 -10
- data/lib/ffaker/time.rb +4 -4
- data/test/test_faker.rb +4 -19
- data/test/test_ssn_se.rb +4 -4
- metadata +59 -47
data/Changelog.rdoc
CHANGED
data/ffaker.gemspec
CHANGED
@@ -4,8 +4,8 @@ Gem::Specification.new do |s|
|
|
4
4
|
s.rubygems_version = '1.3.5'
|
5
5
|
|
6
6
|
s.name = 'ffaker'
|
7
|
-
s.version = '1.16.
|
8
|
-
s.date = '2013-
|
7
|
+
s.version = '1.16.1'
|
8
|
+
s.date = '2013-05-02'
|
9
9
|
s.rubyforge_project = 'ffaker'
|
10
10
|
|
11
11
|
s.summary = "Faster Faker, generates dummy data."
|
data/lib/ffaker.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
module Faker
|
2
|
-
VERSION = "1.16.
|
2
|
+
VERSION = "1.16.1"
|
3
3
|
|
4
4
|
require 'ffaker/utils/array_utils'
|
5
5
|
require 'ffaker/utils/module_utils'
|
@@ -7,7 +7,6 @@ module Faker
|
|
7
7
|
extend ModuleUtils
|
8
8
|
|
9
9
|
LETTERS = k('a'..'z')
|
10
|
-
CAPITAL_LETTERS = k('A'..'Z')
|
11
10
|
|
12
11
|
def self.numerify(*masks)
|
13
12
|
mask = ArrayUtils.rand(masks.flatten)
|
@@ -15,18 +14,14 @@ module Faker
|
|
15
14
|
mask
|
16
15
|
end
|
17
16
|
|
18
|
-
def self.letterify(
|
17
|
+
def self.letterify(*masks)
|
19
18
|
mask = ArrayUtils.rand(masks.flatten)
|
20
|
-
|
21
|
-
mask.gsub!(/\?/) {CAPITAL_LETTERS.rand}
|
22
|
-
else
|
23
|
-
mask.gsub!(/\?/) { LETTERS.rand }
|
24
|
-
end
|
19
|
+
mask.gsub!(/\?/) { LETTERS.rand }
|
25
20
|
mask
|
26
21
|
end
|
27
22
|
|
28
|
-
def self.bothify(
|
29
|
-
letterify(
|
23
|
+
def self.bothify(masks)
|
24
|
+
letterify(numerify(masks))
|
30
25
|
end
|
31
26
|
|
32
27
|
autoload :Address, 'ffaker/address'
|
data/lib/ffaker/address.rb
CHANGED
data/lib/ffaker/address_mx.rb
CHANGED
@@ -4,7 +4,7 @@ module Faker
|
|
4
4
|
extend self
|
5
5
|
|
6
6
|
def drivers_license
|
7
|
-
Faker.bothify(
|
7
|
+
Faker.bothify('?###-###-##-###-#').upcase
|
8
8
|
end
|
9
9
|
|
10
10
|
def ssn
|
@@ -22,4 +22,4 @@ module Faker
|
|
22
22
|
ETHNICITIES = k ['African American', 'Asian/Pacific Islander', 'Caucasian', 'Hispanic', 'Native American', 'Multiracial', 'Other', 'Prefer not to respond']
|
23
23
|
GENDERS = k %w(Male Female)
|
24
24
|
end
|
25
|
-
end
|
25
|
+
end
|
data/lib/ffaker/movie.rb
CHANGED
@@ -26,39 +26,40 @@ module Faker
|
|
26
26
|
private
|
27
27
|
|
28
28
|
def title_with_prefix
|
29
|
-
"#{PREFIXES.
|
29
|
+
"#{PREFIXES.rand} #{maybe_adj_or_adv}#{NOUNS.rand}"
|
30
30
|
end
|
31
31
|
|
32
32
|
def title_with_suffix
|
33
|
-
"The #{maybe_adj_or_adv}#{NOUNS.
|
33
|
+
"The #{maybe_adj_or_adv}#{NOUNS.rand} #{SUFFIXES.rand}"
|
34
34
|
end
|
35
35
|
|
36
36
|
def maybe_adj_or_adv
|
37
37
|
if rand(2) == 1
|
38
|
-
ADJ_AND_ADV.
|
38
|
+
ADJ_AND_ADV.rand + " "
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
42
42
|
def simple_title
|
43
|
-
"#{ADJ_AND_ADV.
|
43
|
+
"#{ADJ_AND_ADV.rand} #{NOUNS.rand}"
|
44
44
|
end
|
45
45
|
|
46
46
|
def title_from_formula
|
47
|
-
|
48
|
-
"#{NOUNS.
|
49
|
-
"The #{NOUNS.
|
50
|
-
"The #{NOUNS.
|
51
|
-
"#{simple_title}: The #{Faker::Name.name} Story"
|
52
|
-
"When #{Faker::Name.first_name} Met #{Faker::Name.first_name}"
|
53
|
-
"Dr. #{NOUNS.
|
54
|
-
"Je Vous Presente, #{Faker::Name.first_name}"
|
55
|
-
"#{rand(3000)} A.D."
|
56
|
-
"The #{NOUNS.
|
57
|
-
"Christmas on #{Faker::Address.street_name}"
|
58
|
-
"The #{ %w{ Red Yellow Black White }.
|
59
|
-
"Hard Boiled #{NOUNS.
|
60
|
-
|
61
|
-
|
47
|
+
case rand(13)
|
48
|
+
when 0 then "#{NOUNS.rand} 2: Electric Boogaloo"
|
49
|
+
when 1 then "The #{NOUNS.rand} Without a #{NOUNS.rand}"
|
50
|
+
when 2 then "The #{NOUNS.rand} from #{rand(20_000)} Leagues"
|
51
|
+
when 3 then "#{simple_title}: The #{Faker::Name.name} Story"
|
52
|
+
when 4 then "When #{Faker::Name.first_name} Met #{Faker::Name.first_name}"
|
53
|
+
when 5 then "Dr. #{NOUNS.rand}"
|
54
|
+
when 6 then "Je Vous Presente, #{Faker::Name.first_name}"
|
55
|
+
when 7 then "#{rand(3000)} A.D."
|
56
|
+
when 8 then "The #{NOUNS.rand} from #{Faker::Address.neighborhood}"
|
57
|
+
when 9 then "Christmas on #{Faker::Address.street_name}"
|
58
|
+
when 10 then "The #{ %w{ Red Yellow Black White }.rand } Rose of #{Faker::AddressUK.country}"
|
59
|
+
when 11 then "Hard Boiled #{NOUNS.rand}"
|
60
|
+
else
|
61
|
+
String.new.tap{|s| n = simple_title; s.replace("#{n} 2: Son of #{n}")}
|
62
|
+
end
|
62
63
|
end
|
63
64
|
end
|
64
65
|
end
|
data/lib/ffaker/ssn_se.rb
CHANGED
@@ -26,7 +26,7 @@ module Faker
|
|
26
26
|
def ssn(opts = {})
|
27
27
|
from = opts[:from] || ::Time.local(1940, 1, 1)
|
28
28
|
to = opts[:to] || ::Time.now
|
29
|
-
gender = opts[:gender] ||
|
29
|
+
gender = opts[:gender] || GENDERS.rand
|
30
30
|
|
31
31
|
raise_error_on_bad_arguments(from, to, gender)
|
32
32
|
|
@@ -48,13 +48,10 @@ module Faker
|
|
48
48
|
raise ArgumentError, "Invalid from argument: from" unless to.is_a? ::Time
|
49
49
|
raise ArgumentError, "Invalid from argument: from" unless from.is_a? ::Time
|
50
50
|
raise ArgumentError, "Invalid argument: from > to" if from > to
|
51
|
-
raise ArgumentError, "Invalid argument: gender" unless
|
51
|
+
raise ArgumentError, "Invalid argument: gender" unless GENDERS.include?(gender.to_s)
|
52
52
|
end
|
53
53
|
|
54
|
-
|
55
|
-
# XXX Don't like this def.
|
56
|
-
[:female, :male]
|
57
|
-
end
|
54
|
+
GENDERS = k ["female", "male"]
|
58
55
|
|
59
56
|
def random_birth_time_between(from=::Time.local(1940, 1, 1), to=::Time.now)
|
60
57
|
::Time.at(from + rand * (to.to_f - from.to_f))
|
@@ -62,18 +59,18 @@ module Faker
|
|
62
59
|
|
63
60
|
def get_random_region_for(gender)
|
64
61
|
region_number = case gender
|
65
|
-
|
66
|
-
|
62
|
+
when "female" then get_random_region_even
|
63
|
+
when "male" then get_random_region_odd
|
67
64
|
end
|
68
65
|
three_character_string(region_number)
|
69
66
|
end
|
70
67
|
|
71
68
|
def get_random_region_even
|
72
|
-
(
|
69
|
+
rand(499) * 2
|
73
70
|
end
|
74
71
|
|
75
72
|
def get_random_region_odd
|
76
|
-
|
73
|
+
rand(499) * 2 + 1
|
77
74
|
end
|
78
75
|
|
79
76
|
def three_character_string(number)
|
data/lib/ffaker/time.rb
CHANGED
@@ -10,19 +10,19 @@ module Faker
|
|
10
10
|
def date(params={})
|
11
11
|
years_back = params[:year_range] || 5
|
12
12
|
latest_year = params [:year_latest] || 0
|
13
|
-
year = (rand * (years_back)).ceil + (
|
13
|
+
year = (rand * (years_back)).ceil + (::Time.now.year - latest_year - years_back)
|
14
14
|
month = (rand * 12).ceil
|
15
15
|
day = (rand * 31).ceil
|
16
|
-
series = [date =
|
16
|
+
series = [date = ::Time.local(year, month, day)]
|
17
17
|
if params[:series]
|
18
18
|
params[:series].each do |some_time_after|
|
19
19
|
series << series.last + (rand * some_time_after).ceil
|
20
20
|
end
|
21
21
|
return series
|
22
22
|
end
|
23
|
-
date
|
23
|
+
date.strftime "%Y-%m-%d %T %z"
|
24
24
|
end
|
25
25
|
|
26
26
|
MONTHS = k %w(January February March April May June July August September October November December)
|
27
27
|
end
|
28
|
-
end
|
28
|
+
end
|
data/test/test_faker.rb
CHANGED
@@ -4,40 +4,25 @@ class TestFaker < Test::Unit::TestCase
|
|
4
4
|
def test_numerify
|
5
5
|
assert Faker.numerify('###').match(/\d{3}/)
|
6
6
|
end
|
7
|
-
|
7
|
+
|
8
8
|
def test_numerify_with_array
|
9
9
|
assert Faker.numerify(['###', '###']).match(/\d{3}/)
|
10
10
|
end
|
11
11
|
|
12
12
|
def test_letterify
|
13
|
-
assert Faker.letterify(
|
14
|
-
end
|
15
|
-
|
16
|
-
def test_capital_letterify
|
17
|
-
assert Faker.letterify(true, '???').match(/[A-Z]{3}/)
|
13
|
+
assert Faker.letterify('???').match(/[a-z]{3}/)
|
18
14
|
end
|
19
15
|
|
20
16
|
def test_letterify_with_array
|
21
|
-
assert Faker.letterify(
|
17
|
+
assert Faker.letterify(['???', '???']).match(/[a-z]{3}/)
|
22
18
|
end
|
23
19
|
|
24
|
-
def test_capital_letterify_with_array
|
25
|
-
assert Faker.letterify(true, ['???', '???']).match(/[A-Z]{3}/)
|
26
|
-
end
|
27
|
-
|
28
20
|
def test_bothify
|
29
21
|
assert Faker.bothify('???###').match(/[a-z]{3}\d{3}/)
|
30
22
|
end
|
31
23
|
|
32
|
-
def test_capital_bothify
|
33
|
-
assert Faker.bothify(true, '???###').match(/[A-Z]{3}\d{3}/)
|
34
|
-
end
|
35
|
-
|
36
24
|
def test_bothify_with_array
|
37
|
-
assert Faker.bothify(
|
25
|
+
assert Faker.bothify(['???###', '???###']).match(/[a-z]{3}\d{3}/)
|
38
26
|
end
|
39
27
|
|
40
|
-
def test_capital_bothify_with_array
|
41
|
-
assert Faker.bothify(true, ['???###', '???###']).match(/[A-Z]{3}\d{3}/)
|
42
|
-
end
|
43
28
|
end
|
data/test/test_ssn_se.rb
CHANGED
@@ -14,14 +14,14 @@ class TestSSN < Test::Unit::TestCase
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def test_ssn_with_gender
|
17
|
-
ssn_male = Faker::SSNSE.ssn(gender
|
17
|
+
ssn_male = Faker::SSNSE.ssn(:gender => :male)
|
18
18
|
assert is_equal?(ssn_male[10].to_i)
|
19
19
|
|
20
|
-
ssn_female = Faker::SSNSE.ssn(gender
|
20
|
+
ssn_female = Faker::SSNSE.ssn(:gender => :female)
|
21
21
|
assert is_equal?(ssn_female[10].to_i)
|
22
22
|
|
23
23
|
assert_raise ArgumentError do
|
24
|
-
Faker::SSNSE.ssn(gender
|
24
|
+
Faker::SSNSE.ssn(:gender => :unkown)
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
@@ -30,7 +30,7 @@ class TestSSN < Test::Unit::TestCase
|
|
30
30
|
from = Time.local(1980, 2, 28)
|
31
31
|
to = Time.local(2000, 2, 28)
|
32
32
|
|
33
|
-
ssn = Faker::SSNSE.ssn(from
|
33
|
+
ssn = Faker::SSNSE.ssn(:from => from, :to => to)
|
34
34
|
year = ssn[0..3].to_i
|
35
35
|
month = ssn[4..5].to_i
|
36
36
|
day = ssn[6..7].to_i
|
metadata
CHANGED
@@ -1,57 +1,61 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: ffaker
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 85
|
5
5
|
prerelease:
|
6
|
+
segments:
|
7
|
+
- 1
|
8
|
+
- 16
|
9
|
+
- 1
|
10
|
+
version: 1.16.1
|
6
11
|
platform: ruby
|
7
|
-
authors:
|
12
|
+
authors:
|
8
13
|
- Emmanuel Oga
|
9
14
|
autorequire:
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
17
|
+
|
18
|
+
date: 2013-05-02 00:00:00 Z
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
15
21
|
name: rake
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
|
-
requirements:
|
19
|
-
- - ! '>='
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: '0'
|
22
|
-
type: :development
|
23
22
|
prerelease: false
|
24
|
-
|
25
|
-
none: false
|
26
|
-
requirements:
|
27
|
-
- - ! '>='
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '0'
|
30
|
-
- !ruby/object:Gem::Dependency
|
31
|
-
name: test-unit
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
33
24
|
none: false
|
34
|
-
requirements:
|
35
|
-
- -
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
|
25
|
+
requirements:
|
26
|
+
- - ">="
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
hash: 3
|
29
|
+
segments:
|
30
|
+
- 0
|
31
|
+
version: "0"
|
38
32
|
type: :development
|
33
|
+
version_requirements: *id001
|
34
|
+
- !ruby/object:Gem::Dependency
|
35
|
+
name: test-unit
|
39
36
|
prerelease: false
|
40
|
-
|
37
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
41
38
|
none: false
|
42
|
-
requirements:
|
43
|
-
- -
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
|
39
|
+
requirements:
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
hash: 3
|
43
|
+
segments:
|
44
|
+
- 0
|
45
|
+
version: "0"
|
46
|
+
type: :development
|
47
|
+
version_requirements: *id002
|
46
48
|
description: Faster Faker, generates dummy data.
|
47
49
|
email: EmmanuelOga@gmail.com
|
48
50
|
executables: []
|
51
|
+
|
49
52
|
extensions: []
|
50
|
-
|
53
|
+
|
54
|
+
extra_rdoc_files:
|
51
55
|
- README.rdoc
|
52
56
|
- LICENSE
|
53
57
|
- Changelog.rdoc
|
54
|
-
files:
|
58
|
+
files:
|
55
59
|
- Changelog.rdoc
|
56
60
|
- Gemfile
|
57
61
|
- LICENSE
|
@@ -169,30 +173,38 @@ files:
|
|
169
173
|
- test/test_venue.rb
|
170
174
|
homepage: http://github.com/emmanueloga/ffaker
|
171
175
|
licenses: []
|
176
|
+
|
172
177
|
post_install_message:
|
173
|
-
rdoc_options:
|
178
|
+
rdoc_options:
|
174
179
|
- --charset=UTF-8
|
175
|
-
require_paths:
|
180
|
+
require_paths:
|
176
181
|
- lib
|
177
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
182
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
178
183
|
none: false
|
179
|
-
requirements:
|
180
|
-
- -
|
181
|
-
- !ruby/object:Gem::Version
|
182
|
-
|
183
|
-
|
184
|
+
requirements:
|
185
|
+
- - ">="
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
hash: 3
|
188
|
+
segments:
|
189
|
+
- 0
|
190
|
+
version: "0"
|
191
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
184
192
|
none: false
|
185
|
-
requirements:
|
186
|
-
- -
|
187
|
-
- !ruby/object:Gem::Version
|
188
|
-
|
193
|
+
requirements:
|
194
|
+
- - ">="
|
195
|
+
- !ruby/object:Gem::Version
|
196
|
+
hash: 3
|
197
|
+
segments:
|
198
|
+
- 0
|
199
|
+
version: "0"
|
189
200
|
requirements: []
|
201
|
+
|
190
202
|
rubyforge_project: ffaker
|
191
203
|
rubygems_version: 1.8.25
|
192
204
|
signing_key:
|
193
205
|
specification_version: 2
|
194
206
|
summary: Faster Faker, generates dummy data.
|
195
|
-
test_files:
|
207
|
+
test_files:
|
196
208
|
- test/test_address.rb
|
197
209
|
- test/test_address_au.rb
|
198
210
|
- test/test_address_ca.rb
|