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