summaryrefslogtreecommitdiff
path: root/fake-service/lib/generator.rb
diff options
context:
space:
mode:
Diffstat (limited to 'fake-service/lib/generator.rb')
-rw-r--r--fake-service/lib/generator.rb96
1 files changed, 0 insertions, 96 deletions
diff --git a/fake-service/lib/generator.rb b/fake-service/lib/generator.rb
deleted file mode 100644
index 83c1b2b2..00000000
--- a/fake-service/lib/generator.rb
+++ /dev/null
@@ -1,96 +0,0 @@
-require 'faker'
-
-I18n.enforce_available_locales = true
-Faker::Config.locale = 'en-us'
-
-module Generator
- TAGS = File.read(File.join(File.dirname(__FILE__), "..", "data", "tags")).split.map { |tt| tt.chomp }
- module Mail
- def random_header
- {
- from: Faker::Internet.email,
- to: Faker::Internet.email,
- subject: Faker::Lorem.sentence
- }
- end
-
- def random_body
- Faker::Lorem.paragraphs.join("\n\n")
- end
-
- extend Mail
- end
-
- def tag
- TAGS.sample
- end
-
- def ladder_distribution(from, to, factor = 1)
- mid = from + ((to - from) / 2)
- result = []
- curr = 1
- direction = 1
- (from..to).each do |i|
- result.concat [i] * curr
- if i == mid
- direction = -1
- end
- curr += (direction * factor)
- end
- result
- end
-
- def choose(distribution)
- case distribution
- when Integer
- distribution
- when Range
- rand((distribution.last+1) - distribution.first) + distribution.first
- when Array
- choose(distribution.sample)
- end
- end
-
- def tags(distribution = 3)
- num = choose(distribution)
- num.times.map { self.tag }
- end
-
- def random_mail
- hdr = Mail.random_header
- bd = Mail.random_body
- PixelatedService::Mail.new(
- from: hdr[:from],
- to: hdr[:to],
- subject: hdr[:subject],
- body: bd
- )
- end
-
- def random_tagged_mail(tagset)
- hdr = Mail.random_header
- bd = Mail.random_body
- tgs = choose(ladder_distribution(1, 5)).times.map { tagset.sample }.uniq
- special_tag = ([nil, nil, nil, nil, nil, nil] + PixelatedService::Tags::SPECIAL).sample
- status = []
- status << :read if special_tag == 'sent'
- mail = PixelatedService::Mail.new(
- from: hdr[:from],
- to: hdr[:to],
- subject: hdr[:subject],
- body: bd,
- tags: (tgs + Array(special_tag)).compact,
- status: status
- )
- mail
- end
-
- def random_persona
- PixelatedService::Persona.new(Faker::Number.number(10),
- Faker::Name.name,
- Faker::Lorem.sentence,
- Faker::Internet.email)
- end
-
- extend Generator
-end