Class: Klipbook::ToJson::BookFile
- Inherits:
-
Object
- Object
- Klipbook::ToJson::BookFile
- Defined in:
- lib/klipbook/tojson/book_file.rb
Instance Attribute Summary collapse
-
#books ⇒ Object
readonly
Returns the value of attribute books.
Class Method Summary collapse
Instance Method Summary collapse
- #add_books(new_books, force, message_stream = $stdout) ⇒ Object
-
#initialize(books) ⇒ BookFile
constructor
A new instance of BookFile.
- #to_json ⇒ Object
Constructor Details
#initialize(books) ⇒ BookFile
Returns a new instance of BookFile.
17 18 19 |
# File 'lib/klipbook/tojson/book_file.rb', line 17 def initialize(books) @books = books || [] end |
Instance Attribute Details
#books ⇒ Object (readonly)
Returns the value of attribute books.
5 6 7 |
# File 'lib/klipbook/tojson/book_file.rb', line 5 def books @books end |
Class Method Details
.from_json(raw_json) ⇒ Object
7 8 9 10 11 12 13 14 15 |
# File 'lib/klipbook/tojson/book_file.rb', line 7 def self.from_json(raw_json) if raw_json.blank? books = [] else objs = JSON.parse(raw_json) books = objs.map { |o| Klipbook::Book.from_hash(o) } end self.new(books) end |
Instance Method Details
#add_books(new_books, force, message_stream = $stdout) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/klipbook/tojson/book_file.rb', line 21 def add_books(new_books, force, =$stdout) new_books.each do |new_book| if book_exists?(new_book) if force replace_book(new_book, ) else .puts Colours.yellow("Skipping: ") + "#{new_book.}" end else .puts Colours.green("Adding: ") + "#{new_book.}" @books.push(new_book) end end end |
#to_json ⇒ Object
36 37 38 |
# File 'lib/klipbook/tojson/book_file.rb', line 36 def to_json JSON.pretty_generate(@books) end |