class OrderReporting::Report

Attributes

name[R]

Public Class Methods

new(name) click to toggle source
# File lib/order_reporting/report.rb, line 5
def initialize(name)
  @name = name
end

Public Instance Methods

send_report() click to toggle source
# File lib/order_reporting/report.rb, line 9
def send_report
  orders.tap do |orders|
    deliver(mailer.send(@name, orders))
  end
end

Private Instance Methods

deliver(mail) click to toggle source
# File lib/order_reporting/report.rb, line 17
def deliver(mail)
  if mail.respond_to?(:deliver)
    mail.deliver
  elsif mail.respond_to?(:deliver_now)
    mail.deliver_now
  end
end
mailer() click to toggle source
# File lib/order_reporting/report.rb, line 25
def mailer
  report[:mailer_class] || OrderReporting.mailer_class
end
orders() click to toggle source
# File lib/order_reporting/report.rb, line 29
def orders
  report[:query].orders
end
report() click to toggle source
# File lib/order_reporting/report.rb, line 33
def report
  OrderReporting[@name]
end