Class: Pay::Abacatepay::Webhooks::Event

Inherits:
Object
  • Object
show all
Defined in:
lib/pay/abacatepay/webhooks/event.rb

Constant Summary collapse

FREQUENCY_TO_INTERVAL =
{
  "WEEKLY" => 1.week,
  "MONTHLY" => 1.month,
  "SEMIANNUALLY" => 6.months,
  "ANNUALLY" => 1.year
}.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(raw) ⇒ Event

Returns a new instance of Event.



12
13
14
# File 'lib/pay/abacatepay/webhooks/event.rb', line 12

def initialize(raw)
  @raw = raw.is_a?(Hash) ? raw : {}
end

Instance Attribute Details

#rawObject (readonly)

Returns the value of attribute raw.



16
17
18
# File 'lib/pay/abacatepay/webhooks/event.rb', line 16

def raw
  @raw
end

Instance Method Details

#api_versionObject



24
# File 'lib/pay/abacatepay/webhooks/event.rb', line 24

def api_version = @raw["apiVersion"]

#canceled_atObject



42
# File 'lib/pay/abacatepay/webhooks/event.rb', line 42

def canceled_at = parse_time(data.dig("subscription", "canceledAt"))

#charge_amount_centsObject



54
# File 'lib/pay/abacatepay/webhooks/event.rb', line 54

def charge_amount_cents = data.dig("payment", "amount")

#charge_idObject



52
# File 'lib/pay/abacatepay/webhooks/event.rb', line 52

def charge_id = data.dig("payment", "id")

#charge_statusObject



60
# File 'lib/pay/abacatepay/webhooks/event.rb', line 60

def charge_status = data.dig("payment", "status")

#checkout_amount_centsObject



72
# File 'lib/pay/abacatepay/webhooks/event.rb', line 72

def checkout_amount_cents = data.dig("checkout", "amount")

#checkout_frequencyObject



66
# File 'lib/pay/abacatepay/webhooks/event.rb', line 66

def checkout_frequency = data.dig("checkout", "frequency")

#checkout_idObject



64
# File 'lib/pay/abacatepay/webhooks/event.rb', line 64

def checkout_id = data.dig("checkout", "id")

#checkout_methodsObject



78
# File 'lib/pay/abacatepay/webhooks/event.rb', line 78

def checkout_methods = data.dig("checkout", "methods")

#checkout_paid_amount_centsObject



74
# File 'lib/pay/abacatepay/webhooks/event.rb', line 74

def checkout_paid_amount_cents = data.dig("checkout", "paidAmount")

#checkout_platform_fee_centsObject



76
# File 'lib/pay/abacatepay/webhooks/event.rb', line 76

def checkout_platform_fee_cents = data.dig("checkout", "platformFee")

#checkout_statusObject



68
# File 'lib/pay/abacatepay/webhooks/event.rb', line 68

def checkout_status = data.dig("checkout", "status")

#checkout_urlObject



70
# File 'lib/pay/abacatepay/webhooks/event.rb', line 70

def checkout_url = data.dig("checkout", "url")

#customer_emailObject



46
# File 'lib/pay/abacatepay/webhooks/event.rb', line 46

def customer_email = data.dig("customer", "email")

#customer_idObject



44
# File 'lib/pay/abacatepay/webhooks/event.rb', line 44

def customer_id = data.dig("customer", "id")

#customer_nameObject



48
# File 'lib/pay/abacatepay/webhooks/event.rb', line 48

def customer_name = data.dig("customer", "name")

#customer_tax_idObject



50
# File 'lib/pay/abacatepay/webhooks/event.rb', line 50

def customer_tax_id = data.dig("customer", "taxId")

#dataObject



22
# File 'lib/pay/abacatepay/webhooks/event.rb', line 22

def data = @raw["data"] || {}

#dev_mode?Boolean

Returns:

  • (Boolean)


26
# File 'lib/pay/abacatepay/webhooks/event.rb', line 26

def dev_mode? = @raw["devMode"] == true

#frequencyObject



36
# File 'lib/pay/abacatepay/webhooks/event.rb', line 36

def frequency = data.dig("subscription", "frequency")

#idObject



18
# File 'lib/pay/abacatepay/webhooks/event.rb', line 18

def id = @raw["id"]

#intervalObject



82
83
84
# File 'lib/pay/abacatepay/webhooks/event.rb', line 82

def interval
  FREQUENCY_TO_INTERVAL[frequency]
end


56
# File 'lib/pay/abacatepay/webhooks/event.rb', line 56

def paid_amount_cents = data.dig("payment", "paidAmount")


62
# File 'lib/pay/abacatepay/webhooks/event.rb', line 62

def paid_at = parse_time(data.dig("payment", "updatedAt"))

#platform_fee_centsObject



58
# File 'lib/pay/abacatepay/webhooks/event.rb', line 58

def platform_fee_cents = data.dig("payment", "platformFee")

#product_idObject



80
# File 'lib/pay/abacatepay/webhooks/event.rb', line 80

def product_id = data.dig("checkout", "items", 0, "id")

#subscription_amount_centsObject



32
# File 'lib/pay/abacatepay/webhooks/event.rb', line 32

def subscription_amount_cents = data.dig("subscription", "amount")

#subscription_created_atObject



38
# File 'lib/pay/abacatepay/webhooks/event.rb', line 38

def subscription_created_at = parse_time(data.dig("subscription", "createdAt"))

#subscription_currencyObject



34
# File 'lib/pay/abacatepay/webhooks/event.rb', line 34

def subscription_currency = data.dig("subscription", "currency") || "BRL"

#subscription_idObject



28
# File 'lib/pay/abacatepay/webhooks/event.rb', line 28

def subscription_id = data.dig("subscription", "id")

#subscription_statusObject



30
# File 'lib/pay/abacatepay/webhooks/event.rb', line 30

def subscription_status = data.dig("subscription", "status")

#subscription_updated_atObject



40
# File 'lib/pay/abacatepay/webhooks/event.rb', line 40

def subscription_updated_at = parse_time(data.dig("subscription", "updatedAt"))

#typeObject



20
# File 'lib/pay/abacatepay/webhooks/event.rb', line 20

def type = @raw["event"] || @raw["type"]