andresbravog/signnow-ruby

View on GitHub
lib/signnow/request/base.rb

Summary

Maintainability
A
0 mins
Test Coverage
module Signnow
  module Request
    class Base
      attr_reader :info
      attr_accessor :response

      def initialize(info)
        @info = info
      end

      def perform
        raise AuthenticationError if Signnow.encoded_app_credentials.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