Sha256: d9038dc4cd32acb7e4756ceb208c20d6ae78ed219acaaf0e25361f1e6bb54a3f

Contents?: true

Size: 1.15 KB

Versions: 3

Compression:

Stored size: 1.15 KB

Contents

# encoding: utf-8

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

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ffaker-2.11.0 lib/ffaker/book.rb
ffaker-2.10.0 lib/ffaker/book.rb
ffaker-2.9.0 lib/ffaker/book.rb