Sha256: 44b8469ea73dc103a956aa0ccd9d877948228782e75c5561bea98596ba9f9b8b
Contents?: true
Size: 1.24 KB
Versions: 4
Compression:
Stored size: 1.24 KB
Contents
# encoding: utf-8 module FFaker module Product extend ModuleUtils extend self B2 = %w(nix cell sync func balt sche pod).freeze VOWELS = %w(a e i o u ou ie y io).freeze START = %w(tr br p ph).freeze SUFFIX = %w(ck ns nce nt st ne re ffe ph).freeze ADDON = %w(wood forge func).freeze def brand case rand(12) when (0..4) then fetch_sample(B1) + fetch_sample(B2) when (5..10) then [ fetch_sample(START), fetch_sample(VOWELS), fetch_sample(SUFFIX), rand(2).zero? ? fetch_sample(ADDON) : nil ].join.capitalize when 11 then letters(2..3).to_s end end def product_name case rand(2) when 0 then "#{fetch_sample(ADJ)} #{fetch_sample(NOUN)}" when 1 then "#{[fetch_sample(ADJ), fetch_sample(ADJ)].uniq.join(' ')} #{fetch_sample(NOUN)}" end end def product "#{brand} #{product_name}" end def letters(n) max = n.is_a?(Range) ? fetch_sample(n.to_a) : n (0...max).map { fetch_sample(LETTERS).upcase }.join end def model case rand(2) when 0 then "#{fetch_sample(LETTERS).upcase}#{rand(90)}" # N90 when 1 then "#{letters(1..rand(1..2))}-#{rand(9900)}" # N-9400 end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
ffaker-2.6.0 | lib/ffaker/product.rb |
ffaker-2.5.0 | lib/ffaker/product.rb |
ffaker-2.4.0 | lib/ffaker/product.rb |
ffaker-2.3.0 | lib/ffaker/product.rb |