Class: Quickbooks::Model::InvoiceLineItem

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

Direct Known Subclasses

InvoiceGroupLineDetail

Constant Summary collapse

SALES_LINE_ITEM_DETAIL =

Constants

'SalesItemLineDetail'
SUB_TOTAL_LINE_DETAIL =
'SubTotalLineDetail'
PAYMENT_LINE_DETAIL =
'PaymentLineDetail'
DISCOUNT_LINE_DETAIL =
'DiscountLineDetail'
INVOICE_GROUP_LINE_DETAIL =
'GroupLineDetail'
DESCRIPTION_LINE_DETAIL =
'DescriptionLineDetail'
DESCRIPTION_DETAIL_TYPE =
'DescriptionOnly'

Instance Method Summary collapse

Methods inherited from BaseModel

#as_json, attribute_names, #attributes, attrs_with_types, #initialize, inspect, #inspect, reference_attrs, reference_setters, resource_for_collection, resource_for_singular, to_xml_big_decimal, #to_xml_inject_ns, #to_xml_ns

Methods included from Validator

#line_item_size

Methods included from Definition

included, #is_name_list_entity?, #is_transaction_entity?

Constructor Details

This class inherits a constructor from Quickbooks::Model::BaseModel

Instance Method Details

#description_only! {|self.description_line_detail| ... } ⇒ Object

Yields:

  • (self.description_line_detail)


79
80
81
82
83
84
# File 'lib/quickbooks/model/invoice_line_item.rb', line 79

def description_only!
  self.detail_type = DESCRIPTION_DETAIL_TYPE
  self.description_line_detail = DescriptionLineDetail.new

  yield self.description_line_detail if block_given?
end

#description_only?Boolean

Returns:

  • (Boolean)


45
46
47
48
49
# File 'lib/quickbooks/model/invoice_line_item.rb', line 45

def description_only?
  # The detail type for a description-only line detail differs slightly
  # from the node name (DescriptionOnly vs DescriptionLineDetail)
  detail_type.to_s == DESCRIPTION_DETAIL_TYPE
end

#discount_item! {|self.discount_line_detail| ... } ⇒ Object

Yields:

  • (self.discount_line_detail)


72
73
74
75
76
77
# File 'lib/quickbooks/model/invoice_line_item.rb', line 72

def discount_item!
  self.detail_type = DISCOUNT_LINE_DETAIL
  self.discount_line_detail = DiscountLineDetail.new

  yield self.discount_line_detail if block_given?
end

#discount_item?Boolean

Returns:

  • (Boolean)


41
42
43
# File 'lib/quickbooks/model/invoice_line_item.rb', line 41

def discount_item?
  detail_type.to_s == DISCOUNT_LINE_DETAIL
end

#group_line_detail! {|self.group_line_detail| ... } ⇒ Object

Yields:

  • (self.group_line_detail)


58
59
60
61
62
63
# File 'lib/quickbooks/model/invoice_line_item.rb', line 58

def group_line_detail!
  self.detail_type = INVOICE_GROUP_LINE_DETAIL
  self.group_line_detail = InvoiceGroupLineDetail.new

  yield self.group_line_detail if block_given?
end

#group_line_detail?Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/quickbooks/model/invoice_line_item.rb', line 29

def group_line_detail?
  detail_type.to_s == INVOICE_GROUP_LINE_DETAIL
end

#payment_item! {|self.payment_line_detail| ... } ⇒ Object

Yields:

  • (self.payment_line_detail)


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

def payment_item!
  self.detail_type = PAYMENT_LINE_DETAIL
  self.payment_line_detail = PaymentLineDetail.new

  yield self.payment_line_detail if block_given?
end

#sales_item! {|self.sales_line_item_detail| ... } ⇒ Object

Yields:

  • (self.sales_line_item_detail)


51
52
53
54
55
56
# File 'lib/quickbooks/model/invoice_line_item.rb', line 51

def sales_item!
  self.detail_type = SALES_LINE_ITEM_DETAIL
  self.sales_line_item_detail = SalesItemLineDetail.new

  yield self.sales_line_item_detail if block_given?
end

#sales_item?Boolean

Returns:

  • (Boolean)


33
34
35
# File 'lib/quickbooks/model/invoice_line_item.rb', line 33

def sales_item?
  detail_type.to_s == SALES_LINE_ITEM_DETAIL
end

#sub_total_item?Boolean

Returns:

  • (Boolean)


37
38
39
# File 'lib/quickbooks/model/invoice_line_item.rb', line 37

def sub_total_item?
  detail_type.to_s == SUB_TOTAL_LINE_DETAIL
end