Sha256: 245865f41f4cb1fd5910d0e93055674110ccd8c2e4db86daa407f25883894d87

Contents?: true

Size: 560 Bytes

Versions: 2

Compression:

Stored size: 560 Bytes

Contents

module EffectiveOrders
  class AppCheckoutService
    def self.call(options = {})
      order = options[:order]
      new(order).tap(&:call)
    end

    attr_reader :order

    def initialize(order)
      @order = order
    end

    def call
      raise NotImplementedError, "overwrite the `call` instance method in #{self.class}"
    end

    def success?
      raise NotImplementedError, "overwrite the `success?` instance method in #{self.class}"
    end

    # A Hash or easily serializable object like a String
    def payment_details
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
effective_orders-1.8.1 lib/effective_orders/app_checkout_service.rb
effective_orders-1.8.0 lib/effective_orders/app_checkout_service.rb