Class: ZohoHub::Response

Inherits:
Object
  • Object
show all
Defined in:
lib/zoho_hub/response.rb

Instance Method Summary collapse

Constructor Details

#initialize(params) ⇒ Response

Returns a new instance of Response.



5
6
7
# File 'lib/zoho_hub/response.rb', line 5

def initialize(params)
  @params = params || {}
end

Instance Method Details

#authentication_failure?Boolean

Returns:

  • (Boolean)


24
25
26
27
28
# File 'lib/zoho_hub/response.rb', line 24

def authentication_failure?
  return false if data.is_a?(Array)

  data[:code] == 'AUTHENTICATION_FAILURE'
end

#dataObject



34
35
36
37
38
39
40
41
# File 'lib/zoho_hub/response.rb', line 34

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

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

  data
end

#empty?Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/zoho_hub/response.rb', line 30

def empty?
  @params.empty?
end

#invalid_data?Boolean

Returns:

  • (Boolean)


9
10
11
12
13
14
15
# File 'lib/zoho_hub/response.rb', line 9

def invalid_data?
  if data.is_a?(Array)
    return data.first[:code] == 'MANDATORY_NOT_FOUND'
  end

  data[:code] == 'INVALID_DATA'
end

#invalid_token?Boolean

:details=>{, :message=>“invalid oauth token”, :status=>“error”}

Returns:

  • (Boolean)


18
19
20
21
22
# File 'lib/zoho_hub/response.rb', line 18

def invalid_token?
  return false if data.is_a?(Array)

  data[:code] == 'INVALID_TOKEN'
end

#msgObject



43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/zoho_hub/response.rb', line 43

def msg
  msg = data[:message]

  if data.dig(:code) == 'INVALID_DATA'
    msg << ", error in #{data.dig(:details, :api_name)}"
  end

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

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

  msg
end