Sha256: 84fa164330fdd4857485c3992ca5f7b1d8be24b44a4ea148c487578bb37d0ec0

Contents?: true

Size: 1.75 KB

Versions: 2

Compression:

Stored size: 1.75 KB

Contents

module Mollie
  module API
    module Object
      class Customer
        class Subscription < Base
          STATUS_ACTIVE    = "active"
          STATUS_PENDING   = "pending" # Waiting for a valid mandate.
          STATUS_CANCELLED = "cancelled"
          STATUS_SUSPENDED = "suspended" # Active, but mandate became invalid.
          STATUS_COMPLETED = "completed"

          attr_accessor :resource,
                        :id,
                        :customer_id,
                        :mode,
                        :created_datetime,
                        :status,
                        :amount,
                        :times,
                        :interval,
                        :description,
                        :method,
                        :cancelled_datetime,
                        :links

          def active?
            status == STATUS_ACTIVE
          end

          def pending?
            status == STATUS_PENDING
          end

          def suspended?
            status == STATUS_SUSPENDED
          end

          def cancelled?
            status == STATUS_CANCELLED
          end

          def completed?
            status == STATUS_COMPLETED
          end

          def created_datetime=(created_datetime)
            @created_datetime = Time.parse(created_datetime.to_s) rescue nil
          end

          def cancelled_datetime=(cancelled_datetime)
            @cancelled_datetime = Time.parse(cancelled_datetime.to_s) rescue nil
          end

          def amount=(amount)
            @amount = BigDecimal.new(amount.to_s)
          end

          def times=(times)
            @times = times.to_i
          end

          def webhook_url
            links && links['webhook_url']
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
mollie-api-ruby-2.2.1 lib/mollie/api/object/customer/subscription.rb
mollie-api-ruby-2.2.0 lib/mollie/api/object/customer/subscription.rb