# frozen_string_literal: true require 'active_support' require 'active_support/core_ext/string/inflections' require 'active_support/core_ext/module/delegation' # Allows using `delegate` require 'faraday' require 'faraday_middleware' require 'json' require_relative 'erp_integration/version' require_relative 'erp_integration/errors' require_relative 'erp_integration/configuration' # Middleware require_relative 'erp_integration/middleware/error_handling' # HTTP clients require_relative 'erp_integration/fulfil/client' # The `ErpIntegration` integrates Mejuri with third-party ERP vendors. module ErpIntegration # Resources autoload :BillOfMaterial, 'erp_integration/bill_of_material' autoload :BillOfMaterialInput, 'erp_integration/bill_of_material_input' autoload :BillOfMaterialOutput, 'erp_integration/bill_of_material_output' autoload :ChannelListing, 'erp_integration/channel_listing' autoload :CustomerShipment, 'erp_integration/customer_shipment' autoload :CustomerShipmentReturn, 'erp_integration/customer_shipment_return' autoload :Product, 'erp_integration/product' autoload :ProductionOrder, 'erp_integration/production_order' autoload :PurchaseOrder, 'erp_integration/purchase_order' autoload :PurchaseOrderLine, 'erp_integration/purchase_order_line' autoload :PurchaseRequest, 'erp_integration/purchase_request' autoload :Resource, 'erp_integration/resource' autoload :SalesOrder, 'erp_integration/sales_order' autoload :SalesOrderLine, 'erp_integration/sales_order_line' autoload :SalesReturnReason, 'erp_integration/sales_return_reason' autoload :StockMove, 'erp_integration/stock_move' autoload :SupplierShipment, 'erp_integration/supplier_shipment' autoload :TrackingNumber, 'erp_integration/tracking_number' autoload :Webhook, 'erp_integration/webhook' module Resources autoload :Errors, 'erp_integration/resources/errors' autoload :Persistence, 'erp_integration/resources/persistence' autoload :Validations, 'erp_integration/resources/validations' end end