class Dingtalk::EcoResultHandler

Attributes

cn_msg[RW]
code[RW]
en_msg[RW]
response_name[RW]
result[RW]

Public Class Methods

new(m, response={}) click to toggle source
# File lib/dingtalk/handler/eco_result_handler.rb, line 5
def initialize(m, response={})
  @response_name = "#{m.gsub(/\./, '_')}_response"
  @response = package_result(response)
  @result = @response[@response_name]
end

Public Instance Methods

full_error_message() click to toggle source
# File lib/dingtalk/handler/eco_result_handler.rb, line 41
def full_error_message
  full_message if !is_ok?
end
Also aliased as: full_error_messages
full_error_messages()
Alias for: full_error_message
full_message() click to toggle source
# File lib/dingtalk/handler/eco_result_handler.rb, line 32
def full_message
  if is_ok?
    "SUCCESS, Please use #result to get result."
  else
    "#{code}: #{en_msg}(#{sub_code}:#{cn_msg})."
  end
end
Also aliased as: full_messages
full_messages()
Alias for: full_message
is_ok?() click to toggle source
# File lib/dingtalk/handler/eco_result_handler.rb, line 11
def is_ok?
  @response[:error_response].nil?
end
Also aliased as: ok?
ok?()
Alias for: is_ok?
sub_code() click to toggle source
# File lib/dingtalk/handler/eco_result_handler.rb, line 28
def sub_code
  @response[:error_response][:sub_code]
end

Private Instance Methods

package_result(response) click to toggle source
# File lib/dingtalk/handler/eco_result_handler.rb, line 47
def package_result(response)
  return response if !response.is_a?(Hash)
  if defined?(Rails)
    ActiveSupport::HashWithIndifferentAccess.new(response)
  else
    response
  end
end