Sha256: 9ad4fba29d32a4a8e1b553552e97fcc39a642419cb1004d693fdf95e06f64c11

Contents?: true

Size: 732 Bytes

Versions: 2

Compression:

Stored size: 732 Bytes

Contents

module Fastbill
  module Automatic
    module Request
      class Base
        attr_reader :info
        attr_accessor :response

        def initialize(info)
          @info = info
        end

        def perform
          raise AuthenticationError if Fastbill::Automatic.api_key.nil? || Fastbill::Automatic.email.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
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
fastbill-automatic-0.0.4 lib/fastbill-automatic/request/base.rb
fastbill-automatic-0.0.3 lib/fastbill-automatic/request/base.rb