require "active_support/configurable" require "active_support/core_ext/array/wrap" require "outbox" require "fulfillment/errors" require "fulfillment/version" module Fulfillment include ActiveSupport::Configurable config_accessor :proxy autoload :Api, "fulfillment/api" autoload :Client, "fulfillment/client" autoload :Model, "fulfillment/model" autoload :Request, "fulfillment/request" autoload :Response, "fulfillment/response" autoload :Resource, "fulfillment/resource" module Models autoload :Collection, "fulfillment/models/collection" autoload :Deliverable, "fulfillment/models/deliverable" autoload :Order, "fulfillment/models/order" autoload :Product, "fulfillment/models/product" autoload :Voucher, "fulfillment/models/voucher" end module Requests end module Resources autoload :Inventories, "fulfillment/resources/inventories" autoload :Orders, "fulfillment/resources/orders" autoload :Organizations, "fulfillment/resources/organizations" autoload :Manifests, "fulfillment/resources/manifests" autoload :Products, "fulfillment/resources/products" autoload :Types, "fulfillment/resources/types" autoload :Venues, "fulfillment/resources/venues" autoload :Vouchers, "fulfillment/resources/vouchers" end def self.client @client ||= Client.new end end