Method: ReferenceBook::Library.to_h

Defined in:
lib/reference_book/library.rb

.to_h(with_meta = false) ⇒ Object



80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# File 'lib/reference_book/library.rb', line 80

def to_h(with_meta = false)
  hash = {}

  shelf.each do |key, book|
    book_h = book.to_h
    
    unless with_meta
      book_h.delete(:title)
      book_h.delete(:library_key)
    end

    missing = book_keys - book_h.keys
    missing.each do |k|
      book_h[k] = nil
    end

    hash[key] = book_h
  end

  hash
end