lib/ffaker/book.rb
# frozen_string_literal: true module FFaker module Book require 'cgi' extend ModuleUtils extend self def title case rand(0..1) when 0 then simple_title when 1 then title_with_prefix end end def genre fetch_sample(GENRES) end def author FFaker::Name.name end def isbn rand(1_000_000_000...25_000_000_000).to_s end def description(sentence_count = 3) FFaker::Lorem.paragraph(sentence_count) end def cover(slug = nil, size = '300x300', format = 'png', bgset = nil) FFaker::Avatar.image(slug, size, format, bgset) end def orly_cover(name = title, book_author = author, top_text = genre) 'https://orly-appstore.herokuapp.com/generate?'\ "title=#{CGI.escape(name)}&"\ "top_text=#{CGI.escape(top_text)}&"\ "author=#{CGI.escape(book_author)}&"\ "image_code=#{Random.rand(1..40)}&"\ "theme=#{Random.rand(1..16)}" end private def simple_title "#{fetch_sample(ADJ_AND_ADV)} #{fetch_sample(NOUNS)}" end def title_with_prefix "#{fetch_sample(PREFIXES)} #{simple_title}" end end end