Sha256: 0b4852c57c690c76f8328fa23aaf464dbde15d645884a9d1312353a3dc61beef

Contents?: true

Size: 613 Bytes

Versions: 6

Compression:

Stored size: 613 Bytes

Contents

module Shipcloud
  module Request
    class Base
      attr_reader :info
      attr_accessor :response

      def initialize(info)
        @info = info
      end

      def perform
        raise AuthenticationError if Shipcloud.api_key.nil?
        connection.setup_https
        send_request
        validator.validated_data_for(response)
      end

      protected

      def send_request
        self.response = connection.request
      end

      def connection
        @connection ||= Connection.new(info)
      end

      def validator
        @validator ||= Validator.new(info)
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
shipcloud-0.6.0 lib/shipcloud/request/base.rb
shipcloud-0.5.0 lib/shipcloud/request/base.rb
shipcloud-0.4.0 lib/shipcloud/request/base.rb
shipcloud-0.3.0 lib/shipcloud/request/base.rb
shipcloud-0.2.0 lib/shipcloud/request/base.rb
shipcloud-0.1.0 lib/shipcloud/request/base.rb