class BooksController < ApplicationController def index books = Book.asc(:created_at) book_list = books.collect do |book| { "book_title" => book.book_title, "authors" => book.authors, "link_to_show" => OrbitHelper.url_to_show(book.to_param) } end { "books" => book_list, "extras" => {"widget-title" => "Books"} } end def show params = OrbitHelper.params book = Book.find_by(uid: params[:uid]) publication_date = book.publication_date.to_date.strftime("%Y/%m/%d") rescue nil publish_date = book.publish_date.to_date.strftime("%Y/%m/%d") rescue nil files = book.book_files.map{|file| { "file_url" => file.member_book_file.url, "file_title" => (file.title.blank? ? File.basename(file.file.path) : file.title) } } rescue [] { "book_files" => files, "data" => { "title" => book.book_title, "year" => book.year, "authors" => book.authors, "isbn" => book.isbn, "language" => t(book.language), "pages" => book.pages, "keywords" => book.keywords, "publication_date" => publication_date , "url" => book.url, "note" => book.note, "extracted_chapters" => book.extracted_chapters, "publish_date" => publish_date, "publisher" => book.publisher, "editor" => book.editor } } end end