Sha256: 5ea8adf35b3326e63e8612c5b2de3709b5ad39a82e8cf73488a9ce399f6f1264

Contents?: true

Size: 702 Bytes

Versions: 9

Compression:

Stored size: 702 Bytes

Contents

module EZAPIClient
  class BaseResponse

    include Virtus.model
    attribute :raw_response, Object
    attribute(:response_body, IndifferentHash, {
      lazy: true,
      default: :default_response_body,
    })
    attribute :success, Boolean, lazy: true, default: :default_success
    attribute :code, String, lazy: true, default: :default_code
    attribute :message, String, lazy: true, default: :default_message

    private

    def default_success
      response_body[:success]
    end

    def default_response_body
      JSON.parse(raw_response.body)
    end

    def default_code
      response_body[:code]
    end

    def default_message
      response_body[:message]
    end

  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
ezapi_client-1.0.2 lib/ezapi_client/responses/base_response.rb
ezapi_client-1.0.1 lib/ezapi_client/responses/base_response.rb
ezapi_client-1.0.0 lib/ezapi_client/responses/base_response.rb
ezapi_client-0.5.0 lib/ezapi_client/responses/base_response.rb
ezapi_client-0.4.0 lib/ezapi_client/responses/base_response.rb
ezapi_client-0.3.0 lib/ezapi_client/responses/base_response.rb
ezapi_client-0.2.1 lib/ezapi_client/responses/base_response.rb
ezapi_client-0.2.0 lib/ezapi_client/responses/base_response.rb
ezapi_client-0.1.0 lib/ezapi_client/responses/base_response.rb