Module: FFaker::Book

Extended by:
Book, ModuleUtils
Included in:
Book
Defined in:
lib/ffaker/book.rb

Instance Method Summary collapse

Methods included from ModuleUtils

const_missing, k, luhn_check, underscore, unique

Methods included from RandomUtils

#fetch_sample, #rand, #shuffle

Instance Method Details

#authorObject



21
22
23
# File 'lib/ffaker/book.rb', line 21

def author
  FFaker::Name.name
end

#cover(*args, slug: nil, size: '300x300', format: 'png', bgset: nil) ⇒ Object



33
34
35
36
37
38
39
40
41
42
43
# File 'lib/ffaker/book.rb', line 33

def cover(*args, slug: nil, size: '300x300', format: 'png', bgset: nil)
  if args.any?
    warn "Positional arguments for Book##{__method__} are deprecated. Please use keyword arguments."
    slug = args[0]
    size = args[1] if args.size > 1
    format = args[2] if args.size > 2
    bgset = args[3] if args.size > 3
  end

  FFaker::Avatar.image(slug: slug, size: size, format: format, bgset: bgset)
end

#description(sentence_count = 3) ⇒ Object



29
30
31
# File 'lib/ffaker/book.rb', line 29

def description(sentence_count = 3)
  FFaker::Lorem.paragraph(sentence_count)
end

#genreObject



17
18
19
# File 'lib/ffaker/book.rb', line 17

def genre
  fetch_sample(GENRES)
end

#isbnObject



25
26
27
# File 'lib/ffaker/book.rb', line 25

def isbn
  rand(1_000_000_000...25_000_000_000).to_s
end

#orly_cover(name = title, book_author = author, top_text = genre) ⇒ Object



45
46
47
48
49
50
51
52
# File 'lib/ffaker/book.rb', line 45

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

#titleObject



10
11
12
13
14
15
# File 'lib/ffaker/book.rb', line 10

def title
  case rand(0..1)
  when 0 then simple_title
  when 1 then title_with_prefix
  end
end