Class: Quickbooks::Model::Invoice

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/quickbooks/model/invoice.rb

Constant Summary collapse

REST_RESOURCE =

Constants

'invoice'
XML_COLLECTION_NODE =
"Invoice"
XML_NODE =
"Invoice"
EMAIL_STATUS_NEED_TO_SEND =
'NeedToSend'

Instance Method Summary collapse

Methods inherited from BaseModel

reference_setters, resource_for_collection, resource_for_singular, #to_xml_inject_ns, #to_xml_ns

Constructor Details

#initialize ⇒ Invoice

Returns a new instance of Invoice.



60
61
62
63
# File 'lib/quickbooks/model/invoice.rb', line 60

def initialize
  ensure_line_items_initialization
  super
end

Instance Method Details

#allow_ipn_payment? ⇒ Boolean

Returns:

  • (Boolean)


89
90
91
# File 'lib/quickbooks/model/invoice.rb', line 89

def allow_ipn_payment?
  allow_ipn_payment.to_s == 'true'
end

#allow_online_ach_payment? ⇒ Boolean

Returns:

  • (Boolean)


101
102
103
# File 'lib/quickbooks/model/invoice.rb', line 101

def allow_online_ach_payment?
  allow_online_ach_payment.to_s == 'true'
end

#allow_online_credit_card_payment? ⇒ Boolean

Returns:

  • (Boolean)


97
98
99
# File 'lib/quickbooks/model/invoice.rb', line 97

def allow_online_credit_card_payment?
  allow_online_credit_card_payment.to_s == 'true'
end

#allow_online_payment? ⇒ Boolean

Returns:

  • (Boolean)


93
94
95
# File 'lib/quickbooks/model/invoice.rb', line 93

def allow_online_payment?
  allow_online_payment.to_s == 'true'
end

#apply_tax_after_discount? ⇒ Boolean

Returns:

  • (Boolean)


85
86
87
# File 'lib/quickbooks/model/invoice.rb', line 85

def apply_tax_after_discount?
  apply_tax_after_discount.to_s == 'true'
end

#billing_email_address=(email_address_string) ⇒ Object



73
74
75
# File 'lib/quickbooks/model/invoice.rb', line 73

def billing_email_address=(email_address_string)
  self.bill_email = EmailAddress.new(email_address_string)
end

#email_status_for_delivery? ⇒ Boolean

Returns:

  • (Boolean)


81
82
83
# File 'lib/quickbooks/model/invoice.rb', line 81

def email_status_for_delivery?
  email_status == EMAIL_STATUS_NEED_TO_SEND
end

#required_bill_email_if_email_delivery ⇒ Object



65
66
67
68
69
70
71
# File 'lib/quickbooks/model/invoice.rb', line 65

def required_bill_email_if_email_delivery
  return unless email_status_for_delivery?

  if bill_email.nil?
    errors.add(:bill_email, "BillEmail is required if EmailStatus=NeedToSend")
  end
end

#wants_billing_email_sent! ⇒ Object



77
78
79
# File 'lib/quickbooks/model/invoice.rb', line 77

def wants_billing_email_sent!
  self.email_status = EMAIL_STATUS_NEED_TO_SEND
end