18 lines
330 B
Ruby
18 lines
330 B
Ruby
# frozen_string_literal: true
|
|
|
|
# Books presenter
|
|
class BooksPresenter < SimpleDelegator
|
|
include ActiveSupport::NumberHelper
|
|
|
|
def price
|
|
super / 100
|
|
end
|
|
|
|
def price_with_currency
|
|
number_to_currency(price)
|
|
end
|
|
|
|
def authors
|
|
super.map { |author| "#{author.first_name} #{author.last_name}" }.join(', ')
|
|
end
|
|
end
|