Sha256: 644feeb86f06cf4d9f0a325585569be44714c7d273c42c7f631388ee019995b5
Contents?: true
Size: 1.36 KB
Versions: 2
Compression:
Stored size: 1.36 KB
Contents
module ActiveMerchant module Fulfillment class Service include RequiresParameters include PostsData def initialize(options = {}) check_test_mode(options) @options = {} @options.update(options) end def test_mode? false end def test? @options[:test] || Base.mode == :test end # API Requirements for Implementors def fulfill(order_id, shipping_address, line_items, options = {}) raise NotImplementedError.new("Subclasses must implement") end def fetch_stock_levels(options = {}) raise NotImplementedError.new("Subclasses must implement") end def fetch_stock_levels(options = {}) raise NotImplementedError.new("Subclasses must implement") end def fetch_tracking_numbers(order_ids, options = {}) raise NotImplementedError.new("Subclasses must implement") end def valid_credentials? raise NotImplementedError.new("Subclasses must implement") end def test_mode? raise NotImplementedError.new("Subclasses must implement") end private def check_test_mode(options) if options[:test] and not test_mode? raise ArgumentError, 'Test mode is not supported by this gateway' end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
active_fulfillment-2.0.2 | lib/active_fulfillment/fulfillment/service.rb |
active_fulfillment-2.0.1 | lib/active_fulfillment/fulfillment/service.rb |