Sha256: 6d6176b062f719b5a5f75c71533bbbc24586c135ad1242e9e7d096969c74d42b

Contents?: true

Size: 865 Bytes

Versions: 4

Compression:

Stored size: 865 Bytes

Contents

# frozen_string_literal: true

module ZohoHub
  class Response
    def initialize(params)
      @params = params || {}
    end

    def invalid_data?
      data[:code] == 'INVALID_DATA'
    end

    # {:code=>"INVALID_TOKEN", :details=>{}, :message=>"invalid oauth token", :status=>"error"}
    def invalid_token?
      data[:code] == 'INVALID_TOKEN'
    end

    def empty?
      @params.empty?
    end

    def data
      data = @params[:data] if @params.dig(:data)
      data ||= @params

      return data.first if data.is_a?(Array) && data.size == 1

      data
    end

    def msg
      msg = data[:message]

      if data.dig(:details, :expected_data_type)
        expected = data.dig(:details, :expected_data_type)
        field = data.dig(:details, :api_name)

        msg << ", expected #{expected} for '#{field}'"
      end

      msg
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
zoho_hub-0.1.5 lib/zoho_hub/response.rb
zoho_hub-0.1.4 lib/zoho_hub/response.rb
zoho_hub-0.1.3 lib/zoho_hub/response.rb
zoho_hub-0.1.0 lib/zoho_hub/response.rb