Sha256: 06e0040a44e7dfa68f0f7fa9530e87720113488bb5c1c10dfafd67c59724750f

Contents?: true

Size: 979 Bytes

Versions: 11

Compression:

Stored size: 979 Bytes

Contents

require 'awesome_print'
module Shippo
  module API
    module Operations
      module Create
        # Creates an item in the database
        # @param [Hash] params tacked onto the URL as URI parameters
        def create(params={})
          api_params = params.dup
          Hashie::Extensions::StringifyKeys.stringify_keys!(api_params)

          api_params.dup.each { |k, v| api_params[k] = v.id if v.is_a?(::Shippo::API::Resource) && v.id }

          response = Shippo::API.post("#{url}/", api_params)
          instance = self.from(response)

          debug_log!(api_params, response, instance) if Shippo::API.debug?
          instance
        end

        def debug_log!(api_params, response, instance)
          puts "#{self.name}->create / request : \n"
          ap(api_params)
          puts "#{self.name}->create / response: \n"
          ap(response)
          puts "#{self.name}->create / from: \n"
          ap(instance)
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
shippo-4.0.0 lib/shippo/api/operations/create.rb
shippo-3.1.0 lib/shippo/api/operations/create.rb
shippo-3.0.1 lib/shippo/api/operations/create.rb
shippo-3.0.0 lib/shippo/api/operations/create.rb
shippo-2.0.8 lib/shippo/api/operations/create.rb
shippo-2.0.7 lib/shippo/api/operations/create.rb
shippo-2.0.6 lib/shippo/api/operations/create.rb
shippo-2.0.5 lib/shippo/api/operations/create.rb
shippo-2.0.4 lib/shippo/api/operations/create.rb
shippo-2.0.3 lib/shippo/api/operations/create.rb
shippo-2.0.2 lib/shippo/api/operations/create.rb