Sha256: 7d6cf63d70fbdcf450ad5db34ac0d4f5ca7df02fb12823880a1c19554b1d3fdd

Contents?: true

Size: 562 Bytes

Versions: 9

Compression:

Stored size: 562 Bytes

Contents

module EWayClient
  class BaseResponse

    include APIClientBase::Response.module
    attribute :success, Boolean, lazy: true, default: :default_success
    attribute :data, Object, lazy: true, default: :default_data

    private

    def default_data
      raw_response.body.deep_fetch(
        :"#{action_slug}_response",
        :"#{action_slug}_result",
        :diffgram,
        :document_element,
        action_slug,
      ) { nil }
    end

    def action_slug
      self.class.name.demodulize.gsub("Response", "").underscore.to_sym
    end

  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
e_way_client-2.1.0 lib/e_way_client/responses/base_response.rb
e_way_client-2.0.0 lib/e_way_client/responses/base_response.rb
e_way_client-1.2.1 lib/e_way_client/responses/base_response.rb
e_way_client-1.2.0 lib/e_way_client/responses/base_response.rb
e_way_client-1.1.0 lib/e_way_client/responses/base_response.rb
e_way_client-1.0.1 lib/e_way_client/responses/base_response.rb
e_way_client-1.0.0 lib/e_way_client/responses/base_response.rb
e_way_client-0.2.0 lib/e_way_client/responses/base_response.rb
e_way_client-0.1.1 lib/e_way_client/responses/base_response.rb