ffaker 1.3.0 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -76,9 +76,14 @@ Try it in your own machine, your mileage may vary!
76
76
  * Robert Berry ( https://github.com/bdigital ).
77
77
  * qichunren ( http://github.com/qichunren ).
78
78
  * Kristján Pétursson ( https://github.com/kristjan )
79
+ * Rico Sta. Cruz ( https://github.com/rstacruz )
79
80
 
80
81
  == Changelog
81
82
 
83
+ * 1.4.0
84
+
85
+ Added Faker::Product and Faker::Education ( Thanks Rico Sta. Cruz, https://github.com/EmmanuelOga/ffaker/pull/12 )
86
+
82
87
  * 1.3.0
83
88
 
84
89
  Faker::Lorem.word as a convenience method, instead of Faker::Lorem.words(1).first.
data/ffaker.gemspec CHANGED
@@ -5,8 +5,8 @@ Gem::Specification.new do |s|
5
5
  s.rubygems_version = '1.3.5'
6
6
 
7
7
  s.name = 'ffaker'
8
- s.version = '1.3.0'
9
- s.date = '2011-02-27'
8
+ s.version = '1.4.0'
9
+ s.date = '2011-03-01'
10
10
  s.rubyforge_project = 'ffaker'
11
11
 
12
12
  s.summary = "Faster Faker, generates dummy data."
@@ -31,12 +31,14 @@ Gem::Specification.new do |s|
31
31
  lib/ffaker.rb
32
32
  lib/ffaker/address.rb
33
33
  lib/ffaker/company.rb
34
+ lib/ffaker/education.rb
34
35
  lib/ffaker/geolocation.rb
35
36
  lib/ffaker/internet.rb
36
37
  lib/ffaker/lorem.rb
37
38
  lib/ffaker/name.rb
38
39
  lib/ffaker/name_cn.rb
39
40
  lib/ffaker/phone_number.rb
41
+ lib/ffaker/product.rb
40
42
  lib/ffaker/utils/array_utils.rb
41
43
  lib/ffaker/utils/module_utils.rb
42
44
  scripts/benchmark.rb
data/lib/ffaker.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Faker
2
- VERSION = "1.3.0"
2
+ VERSION = "1.4.0"
3
3
 
4
4
  require 'ffaker/utils/module_utils'
5
5
 
@@ -23,11 +23,13 @@ module Faker
23
23
 
24
24
  autoload :Address, 'ffaker/address'
25
25
  autoload :Company, 'ffaker/company'
26
+ autoload :Education, 'ffaker/education'
26
27
  autoload :Internet, 'ffaker/internet'
27
28
  autoload :Lorem, 'ffaker/lorem'
28
29
  autoload :Name, 'ffaker/name'
29
30
  autoload :NameCN, 'ffaker/name_cn'
30
31
  autoload :PhoneNumber, 'ffaker/phone_number'
32
+ autoload :Product, 'ffaker/product'
31
33
  autoload :Geolocation, 'ffaker/geolocation'
32
34
  autoload :VERSION, 'ffaker/version'
33
35
  end
@@ -27,6 +27,14 @@ module Faker
27
27
  "#{BS_PRE.rand} #{BS_MID.rand} #{BS_POS.rand}"
28
28
  end
29
29
 
30
+ def position
31
+ case rand(3)
32
+ when 0 then [POSITION_PREFIXES.rand, POSITIONS.rand]
33
+ when 1 then [POSITION_AREAS.rand, POSITIONS.rand]
34
+ when 2 then [POSITION_PREFIXES.rand, POSITION_AREAS.rand, POSITIONS.rand]
35
+ end.join(' ')
36
+ end
37
+
30
38
  SUFFIXES = k %w(Inc and\ Sons LLC Group)
31
39
 
32
40
  CATCH_PRE = k ["Adaptive", "Advanced", "Ameliorated", "Assimilated",
@@ -136,5 +144,9 @@ module Faker
136
144
  "users", "schemas", "networks", "applications", "metrics",
137
145
  "e-business", "functionalities", "experiences", "web services",
138
146
  "methodologies"]
147
+
148
+ POSITION_PREFIXES = k %w[Executive Assistant General Associate]
149
+ POSITION_AREAS = k %w[Finance IT Operations Information Vice Sales Marketing Corporate Department Regional Division]
150
+ POSITIONS = k %w[President Manager Director Secretary Consultant]
139
151
  end
140
152
  end
@@ -0,0 +1,49 @@
1
+ module Faker
2
+ module Education
3
+ extend ModuleUtils
4
+ extend self
5
+
6
+ def degree_short
7
+ "#{DEGREE_SHORT_PREFIX.rand} in #{major}"
8
+ end
9
+
10
+ def degree
11
+ "#{DEGREE_PREFIX.rand} in #{major}"
12
+ end
13
+
14
+ def major
15
+ "#{MAJOR_ADJ.rand} #{MAJOR_NOUN.rand}"
16
+ end
17
+
18
+ def school_name
19
+ SCHOOL_PREFIX.rand + SCHOOL_SUFFIX.rand
20
+ end
21
+
22
+ def school_generic_name
23
+ case rand(2)
24
+ when 0 then Address::STATE.rand
25
+ when 1 then school_name
26
+ end
27
+ end
28
+
29
+ def school
30
+ case rand(5)
31
+ when (0..1) then "#{school_name} #{SCHOOL_TYPE.rand}"
32
+ when 2 then "#{school_generic_name} #{SCHOOL_ADJ.rand} #{SCHOOL_TYPE.rand}"
33
+ when 3 then "#{SCHOOL_UNI.rand} of #{school_generic_name}"
34
+ when 4 then "#{school_generic_name} #{SCHOOL_TYPE.rand} of #{MAJOR_NOUN.rand}"
35
+ end
36
+ end
37
+
38
+ DEGREE_SHORT_PREFIX = k %w(AB BS BSc MA MD DMus DPhil)
39
+ DEGREE_PREFIX = k ['Bachelor of Science', 'Bachelor of Arts', 'Master of Arts', 'Doctor of Medicine', 'Bachelor of Music', 'Doctor of Philosophy']
40
+ MAJOR_ADJ = k (%w(Business Systems Industrial Medical Financial Marketing Political Social) + ['Human Resource'])
41
+ MAJOR_NOUN = k %w(Science Arts Administration Engineering Management Production Economics Architecture Accountancy Education Development Philosophy Studies)
42
+
43
+ SCHOOL_PREFIX = k %w(Green South North Wind Lake Hill Lark River Red White)
44
+ SCHOOL_SUFFIX = k %w(wood dale ridge ville point field shire shore crest spur well side coast)
45
+ SCHOOL_ADJ = k %w(International Global Polytechnic National)
46
+ SCHOOL_TYPE = k %w(School University College Institution Academy)
47
+ SCHOOL_UNI = k %w(University College)
48
+ end
49
+ end
@@ -0,0 +1,48 @@
1
+ module Faker
2
+ module Product
3
+ extend ModuleUtils
4
+ extend self
5
+
6
+ def brand
7
+ case rand(12)
8
+ when (0..4) then B1.rand + B2.rand
9
+ when (5..10) then "#{START.rand}#{VOWELS.rand}#{SUFFIX.rand}#{ADDON.rand if rand(2)==0}".capitalize
10
+ when 11 then "#{letters(2..3)}"
11
+ end
12
+ end
13
+
14
+ def product_name
15
+ case rand(2)
16
+ when 0 then "#{ADJ.rand} #{NOUN.rand}"
17
+ when 1 then "#{[ADJ.rand, ADJ.rand].uniq.join(" ")} #{NOUN.rand}"
18
+ end
19
+ end
20
+
21
+ def product
22
+ "#{brand} #{product_name}"
23
+ end
24
+
25
+ def letters(n)
26
+ max = n.is_a?(Range) ? n.to_a.shuffle.first : n
27
+ (0...max).map { LETTERS.rand.upcase }.join
28
+ end
29
+
30
+ def model
31
+ case rand(2)
32
+ when 0 then "#{LETTERS.rand.upcase}#{rand(90)}" # N90
33
+ when 1 then "#{letters(0..rand(2))}-#{rand(9900)}" # N-9400
34
+ end
35
+ end
36
+
37
+ B1 = k %w(So Lu Sir Bri Reu Gen Fin Pana Sine Co Aqua Am Ca Cyg Tech After Sub One Tri)
38
+ B2 = k %w(nix cell sync func balt sche pod)
39
+
40
+ VOWELS = k %w(a e i o u ou ie y io)
41
+ START = k %w(tr br p ph)
42
+ SUFFIX = k %w(ck ns nce nt st ne re ffe ph)
43
+ ADDON = k %w(wood forge func)
44
+
45
+ ADJ = k %w(Air Gel Auto Power Tag Audible HD GPS Portable Disc Electric Performance Side Video Input Output Direct Remote Digital)
46
+ NOUN = k %w(Filter Compressor System Viewer Mount Case Adapter Amplifier Bridge Bracket Kit Transmitter Receiver Tuner Controller Component)
47
+ end
48
+ end
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 1
7
- - 3
7
+ - 4
8
8
  - 0
9
- version: 1.3.0
9
+ version: 1.4.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - Emmanuel Oga
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2011-02-27 00:00:00 -03:00
17
+ date: 2011-03-01 00:00:00 -03:00
18
18
  default_executable:
19
19
  dependencies: []
20
20
 
@@ -36,12 +36,14 @@ files:
36
36
  - lib/ffaker.rb
37
37
  - lib/ffaker/address.rb
38
38
  - lib/ffaker/company.rb
39
+ - lib/ffaker/education.rb
39
40
  - lib/ffaker/geolocation.rb
40
41
  - lib/ffaker/internet.rb
41
42
  - lib/ffaker/lorem.rb
42
43
  - lib/ffaker/name.rb
43
44
  - lib/ffaker/name_cn.rb
44
45
  - lib/ffaker/phone_number.rb
46
+ - lib/ffaker/product.rb
45
47
  - lib/ffaker/utils/array_utils.rb
46
48
  - lib/ffaker/utils/module_utils.rb
47
49
  - scripts/benchmark.rb