class Haoyaoshi::ResultHandler

Attributes

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

Public Class Methods

new(code, en_msg, result={}) click to toggle source
# File lib/haoyaoshi/handler/result_handler.rb, line 8
def initialize(code, en_msg, result={})
  @code   = code   || OK_CODE
  @en_msg = en_msg || OK_MSG
  @cn_msg = GLOBAL_CODES[@code.to_i]
  @result = package_result(result)
end

Public Instance Methods

errors()
Alias for: full_error_message
full_error_message() click to toggle source
# File lib/haoyaoshi/handler/result_handler.rb, line 28
def full_error_message
  full_message if !is_ok?
end
Also aliased as: full_error_messages, errors
full_error_messages()
Alias for: full_error_message
full_message() click to toggle source

e.g.: 45009: api freq out of limit(接口调用超过限制)

# File lib/haoyaoshi/handler/result_handler.rb, line 23
def full_message
  "#{code}: #{en_msg}(#{cn_msg})."
end
Also aliased as: full_messages
full_messages()
Alias for: full_message
is_ok?() click to toggle source

This method is to valid the current request if is true or is false

# File lib/haoyaoshi/handler/result_handler.rb, line 16
def is_ok?
  code == OK_CODE
end
Also aliased as: ok?
ok?()
Alias for: is_ok?

Private Instance Methods

package_result(result) click to toggle source

if define Rails constant result = Haoyaoshi::ResultHandler.new(“0”, “success”, {:ok => “true”}) result.result #=> true result.result #=> true result.result #=> true

# File lib/haoyaoshi/handler/result_handler.rb, line 41
def package_result(result)
  return result if !result.is_a?(Hash)
  if defined?(Rails)
    ActiveSupport::HashWithIndifferentAccess.new(result)
  else
    result
  end
end