class Billme::ServicesSection
Attributes
data[R]
Public Class Methods
new()
click to toggle source
# File lib/billme/services_section.rb, line 5 def initialize @data = {services: []} end
Public Instance Methods
method_missing(name, *args, &block)
click to toggle source
# File lib/billme/services_section.rb, line 9 def method_missing(name, *args, &block) return @data[name] = args[0] unless block_given? service_details = ServiceDetails.new service_details.instance_eval &block @data[:services] << service_details.data end
subtotal()
click to toggle source
# File lib/billme/services_section.rb, line 20 def subtotal total * (1 - @data[:tax].to_f) end
total()
click to toggle source
# File lib/billme/services_section.rb, line 16 def total @data[:services].reduce(0) {|sum, obj| sum += obj[:unit].to_i * obj[:quantity].to_i } end