Class: Conexa::Sale

Inherits:
Model show all
Defined in:
lib/conexa/resources/sale.rb

Overview

Sale resource for one-time sales

Examples:

Create a sale

sale = Conexa::Sale.create(
  customer_id: 450,
  product_id: 2521,
  quantity: 1,
  amount: 80.99
)

List sales

sales = Conexa::Sale.all(customer_id: [450], status: 'notBilled', limit: 50)

Constant Summary

Constants inherited from ConexaObject

ConexaObject::RESOURCES

Instance Attribute Summary collapse

Attributes inherited from ConexaObject

#attributes

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Model

all, #class_name, class_name, #create, create, #destroy, destroy, extract_page_size_or_params, #fetch, find_by, find_by_id, #id, #primary_key, primary_key_attribute, #primary_key_name, #save, #set_primary_key, underscored_class_name

Methods included from Deprecatable

#deprecate

Methods inherited from ConexaObject

#==, #[]=, convert, #empty?, #initialize, #respond_to_missing?, #to_hash, #unsaved_attributes

Constructor Details

This class inherits a constructor from Conexa::ConexaObject

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Conexa::ConexaObject

Instance Attribute Details

#amountFloat (readonly)

Returns Final amount.

Returns:

  • (Float)

    Final amount



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/conexa/resources/sale.rb', line 47

class Sale < Model
  primary_key_attribute :sale_id

  # Check if sale is billed
  # @return [Boolean]
  def billed?
    status == 'billed'
  end

  # Check if sale is paid
  # @return [Boolean]
  def paid?
    status == 'paid'
  end

  # Check if sale can be edited
  # @return [Boolean]
  def editable?
    status == 'notBilled'
  end

  class << self
    def url(*params)
      ["/sales", *params].join '/'
    end

    def show_url(*params)
      ["/sale", *params].join '/'
    end
  end
end

#created_atString? (readonly)

Returns Created at timestamp.

Returns:

  • (String, nil)

    Created at timestamp



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/conexa/resources/sale.rb', line 47

class Sale < Model
  primary_key_attribute :sale_id

  # Check if sale is billed
  # @return [Boolean]
  def billed?
    status == 'billed'
  end

  # Check if sale is paid
  # @return [Boolean]
  def paid?
    status == 'paid'
  end

  # Check if sale can be edited
  # @return [Boolean]
  def editable?
    status == 'notBilled'
  end

  class << self
    def url(*params)
      ["/sales", *params].join '/'
    end

    def show_url(*params)
      ["/sale", *params].join '/'
    end
  end
end

#customer_idInteger (readonly)

Returns Customer ID.

Returns:

  • (Integer)

    Customer ID



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/conexa/resources/sale.rb', line 47

class Sale < Model
  primary_key_attribute :sale_id

  # Check if sale is billed
  # @return [Boolean]
  def billed?
    status == 'billed'
  end

  # Check if sale is paid
  # @return [Boolean]
  def paid?
    status == 'paid'
  end

  # Check if sale can be edited
  # @return [Boolean]
  def editable?
    status == 'notBilled'
  end

  class << self
    def url(*params)
      ["/sales", *params].join '/'
    end

    def show_url(*params)
      ["/sale", *params].join '/'
    end
  end
end

#discount_valueFloat (readonly)

Returns Discount value.

Returns:

  • (Float)

    Discount value



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/conexa/resources/sale.rb', line 47

class Sale < Model
  primary_key_attribute :sale_id

  # Check if sale is billed
  # @return [Boolean]
  def billed?
    status == 'billed'
  end

  # Check if sale is paid
  # @return [Boolean]
  def paid?
    status == 'paid'
  end

  # Check if sale can be edited
  # @return [Boolean]
  def editable?
    status == 'notBilled'
  end

  class << self
    def url(*params)
      ["/sales", *params].join '/'
    end

    def show_url(*params)
      ["/sale", *params].join '/'
    end
  end
end

#notesString? (readonly)

Returns Notes.

Returns:

  • (String, nil)

    Notes



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/conexa/resources/sale.rb', line 47

class Sale < Model
  primary_key_attribute :sale_id

  # Check if sale is billed
  # @return [Boolean]
  def billed?
    status == 'billed'
  end

  # Check if sale is paid
  # @return [Boolean]
  def paid?
    status == 'paid'
  end

  # Check if sale can be edited
  # @return [Boolean]
  def editable?
    status == 'notBilled'
  end

  class << self
    def url(*params)
      ["/sales", *params].join '/'
    end

    def show_url(*params)
      ["/sale", *params].join '/'
    end
  end
end

#original_amountFloat (readonly)

Returns Original amount before discount.

Returns:

  • (Float)

    Original amount before discount



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/conexa/resources/sale.rb', line 47

class Sale < Model
  primary_key_attribute :sale_id

  # Check if sale is billed
  # @return [Boolean]
  def billed?
    status == 'billed'
  end

  # Check if sale is paid
  # @return [Boolean]
  def paid?
    status == 'paid'
  end

  # Check if sale can be edited
  # @return [Boolean]
  def editable?
    status == 'notBilled'
  end

  class << self
    def url(*params)
      ["/sales", *params].join '/'
    end

    def show_url(*params)
      ["/sale", *params].join '/'
    end
  end
end

#product_idInteger (readonly)

Returns Product ID.

Returns:

  • (Integer)

    Product ID



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/conexa/resources/sale.rb', line 47

class Sale < Model
  primary_key_attribute :sale_id

  # Check if sale is billed
  # @return [Boolean]
  def billed?
    status == 'billed'
  end

  # Check if sale is paid
  # @return [Boolean]
  def paid?
    status == 'paid'
  end

  # Check if sale can be edited
  # @return [Boolean]
  def editable?
    status == 'notBilled'
  end

  class << self
    def url(*params)
      ["/sales", *params].join '/'
    end

    def show_url(*params)
      ["/sale", *params].join '/'
    end
  end
end

#quantityInteger (readonly)

Returns Quantity.

Returns:

  • (Integer)

    Quantity



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/conexa/resources/sale.rb', line 47

class Sale < Model
  primary_key_attribute :sale_id

  # Check if sale is billed
  # @return [Boolean]
  def billed?
    status == 'billed'
  end

  # Check if sale is paid
  # @return [Boolean]
  def paid?
    status == 'paid'
  end

  # Check if sale can be edited
  # @return [Boolean]
  def editable?
    status == 'notBilled'
  end

  class << self
    def url(*params)
      ["/sales", *params].join '/'
    end

    def show_url(*params)
      ["/sale", *params].join '/'
    end
  end
end

#reference_dateString (readonly)

Returns Reference date (W3C format).

Returns:

  • (String)

    Reference date (W3C format)



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/conexa/resources/sale.rb', line 47

class Sale < Model
  primary_key_attribute :sale_id

  # Check if sale is billed
  # @return [Boolean]
  def billed?
    status == 'billed'
  end

  # Check if sale is paid
  # @return [Boolean]
  def paid?
    status == 'paid'
  end

  # Check if sale can be edited
  # @return [Boolean]
  def editable?
    status == 'notBilled'
  end

  class << self
    def url(*params)
      ["/sales", *params].join '/'
    end

    def show_url(*params)
      ["/sale", *params].join '/'
    end
  end
end

#requester_idInteger? (readonly)

Returns Requester ID.

Returns:

  • (Integer, nil)

    Requester ID



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/conexa/resources/sale.rb', line 47

class Sale < Model
  primary_key_attribute :sale_id

  # Check if sale is billed
  # @return [Boolean]
  def billed?
    status == 'billed'
  end

  # Check if sale is paid
  # @return [Boolean]
  def paid?
    status == 'paid'
  end

  # Check if sale can be edited
  # @return [Boolean]
  def editable?
    status == 'notBilled'
  end

  class << self
    def url(*params)
      ["/sales", *params].join '/'
    end

    def show_url(*params)
      ["/sale", *params].join '/'
    end
  end
end

#sale_idInteger (readonly)

Returns Sale ID (also accessible as #id).

Returns:

  • (Integer)

    Sale ID (also accessible as #id)



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/conexa/resources/sale.rb', line 47

class Sale < Model
  primary_key_attribute :sale_id

  # Check if sale is billed
  # @return [Boolean]
  def billed?
    status == 'billed'
  end

  # Check if sale is paid
  # @return [Boolean]
  def paid?
    status == 'paid'
  end

  # Check if sale can be edited
  # @return [Boolean]
  def editable?
    status == 'notBilled'
  end

  class << self
    def url(*params)
      ["/sales", *params].join '/'
    end

    def show_url(*params)
      ["/sale", *params].join '/'
    end
  end
end

#seller_idInteger? (readonly)

Returns Seller (user) ID.

Returns:

  • (Integer, nil)

    Seller (user) ID



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/conexa/resources/sale.rb', line 47

class Sale < Model
  primary_key_attribute :sale_id

  # Check if sale is billed
  # @return [Boolean]
  def billed?
    status == 'billed'
  end

  # Check if sale is paid
  # @return [Boolean]
  def paid?
    status == 'paid'
  end

  # Check if sale can be edited
  # @return [Boolean]
  def editable?
    status == 'notBilled'
  end

  class << self
    def url(*params)
      ["/sales", *params].join '/'
    end

    def show_url(*params)
      ["/sale", *params].join '/'
    end
  end
end

#statusString (readonly)

Returns Status: paid, billed, cancelled, notBilled, deductedFromQuota, billedCancelled, billedNegociated, partiallyPaid.

Returns:

  • (String)

    Status: paid, billed, cancelled, notBilled, deductedFromQuota, billedCancelled, billedNegociated, partiallyPaid



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/conexa/resources/sale.rb', line 47

class Sale < Model
  primary_key_attribute :sale_id

  # Check if sale is billed
  # @return [Boolean]
  def billed?
    status == 'billed'
  end

  # Check if sale is paid
  # @return [Boolean]
  def paid?
    status == 'paid'
  end

  # Check if sale can be edited
  # @return [Boolean]
  def editable?
    status == 'notBilled'
  end

  class << self
    def url(*params)
      ["/sales", *params].join '/'
    end

    def show_url(*params)
      ["/sale", *params].join '/'
    end
  end
end

#updated_atString (readonly)

Returns Updated at timestamp.

Returns:

  • (String)

    Updated at timestamp



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/conexa/resources/sale.rb', line 47

class Sale < Model
  primary_key_attribute :sale_id

  # Check if sale is billed
  # @return [Boolean]
  def billed?
    status == 'billed'
  end

  # Check if sale is paid
  # @return [Boolean]
  def paid?
    status == 'paid'
  end

  # Check if sale can be edited
  # @return [Boolean]
  def editable?
    status == 'notBilled'
  end

  class << self
    def url(*params)
      ["/sales", *params].join '/'
    end

    def show_url(*params)
      ["/sale", *params].join '/'
    end
  end
end

Class Method Details

.show_url(*params) ⇒ Object



73
74
75
# File 'lib/conexa/resources/sale.rb', line 73

def show_url(*params)
  ["/sale", *params].join '/'
end

.url(*params) ⇒ Object



69
70
71
# File 'lib/conexa/resources/sale.rb', line 69

def url(*params)
  ["/sales", *params].join '/'
end

Instance Method Details

#billed?Boolean

Check if sale is billed

Returns:

  • (Boolean)


52
53
54
# File 'lib/conexa/resources/sale.rb', line 52

def billed?
  status == 'billed'
end

#editable?Boolean

Check if sale can be edited

Returns:

  • (Boolean)


64
65
66
# File 'lib/conexa/resources/sale.rb', line 64

def editable?
  status == 'notBilled'
end

#paid?Boolean

Check if sale is paid

Returns:

  • (Boolean)


58
59
60
# File 'lib/conexa/resources/sale.rb', line 58

def paid?
  status == 'paid'
end