module ReferenceBook

Constants

VERSION

Attributes

locked_book_spec[R]

Public Class Methods

define_book_structure(*book_keys) click to toggle source

to lock the structure of Books, optional

ReferenceBook.define_book_structure :attr_1, :attr_2, ‘attr_3’, …

# File lib/reference_book.rb, line 24
def define_book_structure(*book_keys)
  @locked_book_spec = Setup::LockedBookSpec.new(book_keys)
end
library() click to toggle source
# File lib/reference_book.rb, line 47
def library
  ReferenceBook::Library
end
write_book(opts = {}) { |collector| ... } click to toggle source

with block with 1 argument

ReferenceBook.write_book(title: :sym_or_str) do |book|

book.some_prop = "foobar"

end

# File lib/reference_book.rb, line 36
def write_book(opts = {}, &block)
  collector = Setup::Collector.new
  yield collector

  writer = Setup::Writer.new(locked_book_spec)
  book = writer.create_book_with(opts[:title], opts[:library_key], collector)

  library.store(book)
end