Class: AbacatePay::Resources::Coupons

Inherits:
Resource
  • Object
show all
Defined in:
lib/abacate_pay/resources/coupons.rb

Overview

Represents a discount coupon in the AbacatePay system.

Constant Summary collapse

ENUM_PROPERTIES =
{
  status: "AbacatePay::Enums::Coupons::Statuses",
  discount_kind: "AbacatePay::Enums::Coupons::DiscountKinds"
}.freeze
DATETIME_PROPERTIES =
%w[created_at updated_at].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data) ⇒ Coupons

Returns a new instance of Coupons.



20
21
22
# File 'lib/abacate_pay/resources/coupons.rb', line 20

def initialize(data)
  fill(data)
end

Instance Attribute Details

#codeString?

The coupon code.

The API uses the code as the object's id and sends no separate code field, so this reader was always nil for API data.

Returns:

  • (String, nil)


30
31
32
# File 'lib/abacate_pay/resources/coupons.rb', line 30

def code
  @code || @id
end

#created_atObject

Returns the value of attribute created_at.



14
15
16
# File 'lib/abacate_pay/resources/coupons.rb', line 14

def created_at
  @created_at
end

#current_redeemsInteger?

Deprecated.

The API calls this redeemsCount; use #redeems_count.

Returns Times the coupon has been redeemed.

Returns:

  • (Integer, nil)

    Times the coupon has been redeemed



37
38
39
# File 'lib/abacate_pay/resources/coupons.rb', line 37

def current_redeems
  @current_redeems || @redeems_count
end

#dev_modeObject

Returns the value of attribute dev_mode.



14
15
16
# File 'lib/abacate_pay/resources/coupons.rb', line 14

def dev_mode
  @dev_mode
end

#discountObject

Returns the value of attribute discount.



14
15
16
# File 'lib/abacate_pay/resources/coupons.rb', line 14

def discount
  @discount
end

#discount_kindObject

Returns the value of attribute discount_kind.



14
15
16
# File 'lib/abacate_pay/resources/coupons.rb', line 14

def discount_kind
  @discount_kind
end

#idObject

Returns the value of attribute id.



14
15
16
# File 'lib/abacate_pay/resources/coupons.rb', line 14

def id
  @id
end

#max_redeemsObject

Returns the value of attribute max_redeems.



14
15
16
# File 'lib/abacate_pay/resources/coupons.rb', line 14

def max_redeems
  @max_redeems
end

#notesObject

Returns the value of attribute notes.



14
15
16
# File 'lib/abacate_pay/resources/coupons.rb', line 14

def notes
  @notes
end

#redeems_countInteger?

Returns Times the coupon has been redeemed.

Returns:

  • (Integer, nil)

    Times the coupon has been redeemed



18
19
20
# File 'lib/abacate_pay/resources/coupons.rb', line 18

def redeems_count
  @redeems_count
end

#statusObject

Returns the value of attribute status.



14
15
16
# File 'lib/abacate_pay/resources/coupons.rb', line 14

def status
  @status
end

#updated_atObject

Returns the value of attribute updated_at.



14
15
16
# File 'lib/abacate_pay/resources/coupons.rb', line 14

def updated_at
  @updated_at
end

Instance Method Details

#dev_mode?Boolean?

Returns Whether the coupon belongs to Dev mode.

Returns:

  • (Boolean, nil)

    Whether the coupon belongs to Dev mode



42
43
44
# File 'lib/abacate_pay/resources/coupons.rb', line 42

def dev_mode?
  @dev_mode
end