class OstKycSdkRuby::Util::Result

Attributes

error_message[RW]
internal_id[RW]

Public Class Methods

error(params) click to toggle source

Error

Returns:

obj: (OstKycSdkRuby::Util::Result)
# File lib/ost-kyc-sdk-ruby/util/result.rb, line 128
def self.error(params)
  new(params)
end
error_fields() click to toggle source

Error Fields

Returns:

obj: (Array)
# File lib/ost-kyc-sdk-ruby/util/result.rb, line 180
def self.error_fields
  [
      :error,
      :error_message,
      :error_data,
      :internal_id
  ]
end
exception(e, params = {}) click to toggle source

Exception

Returns:

obj: (OstKycSdkRuby::Util::Result)
# File lib/ost-kyc-sdk-ruby/util/result.rb, line 146
def self.exception(e, params = {})
  obj = new(params)
  obj.set_exception(e)
  return obj
end
fields() click to toggle source

Fields

Returns:

obj: (Array)
# File lib/ost-kyc-sdk-ruby/util/result.rb, line 171
def self.fields
  error_fields + [:data, :message]
end
new(params = {}) click to toggle source

Initialize

Arguments:

params: (Hash)
# File lib/ost-kyc-sdk-ruby/util/result.rb, line 22
def initialize(params = {})
  set_error(params)
  set_message(params[:message])
  set_http_code(params[:http_code])
  @data = params[:data] || {}
end
no_error() click to toggle source

No Error

Returns:

obj: (Hash)
# File lib/ost-kyc-sdk-ruby/util/result.rb, line 157
def self.no_error
  @n_err ||= {
      error: nil,
      error_message: nil,
      error_data: nil,
      internal_id: nil
  }
end
success(params) click to toggle source

Success

Returns:

obj: (OstKycSdkRuby::Util::Result)
# File lib/ost-kyc-sdk-ruby/util/result.rb, line 137
def self.success(params)
  new(params.merge!(no_error))
end

Public Instance Methods

[](key) click to toggle source

Get instance variables Hash style from object

# File lib/ost-kyc-sdk-ruby/util/result.rb, line 119
def [](key)
  instance_variable_get("@#{key}")
end
errors_present?() click to toggle source

are errors present?

@return [Boolean] returns True / False

# File lib/ost-kyc-sdk-ruby/util/result.rb, line 100
def errors_present?
  @internal_id ||
      @error ||
      @error_message ||
      @error_data ||
      @exception
end
exception_message() click to toggle source

Exception message

Returns:

exception_message: (String)
# File lib/ost-kyc-sdk-ruby/util/result.rb, line 113
def exception_message
  @e_m ||= @exception.nil? ? '' : @exception.message
end
invalid?() click to toggle source

is invalid?

@return [Boolean] returns True / False

# File lib/ost-kyc-sdk-ruby/util/result.rb, line 80
def invalid?
  errors_present?
end
set_error(params) click to toggle source

Set Error

Arguments:

params: (Hash)
# File lib/ost-kyc-sdk-ruby/util/result.rb, line 33
def set_error(params)
  @error = params[:error] if params.key?(:error)
  @error_message = params[:error_message] if params.key?(:error_message)
  @error_data = params[:error_data] if params.key?(:error_data)
  @internal_id = params[:internal_id] if params.key?(:internal_id)
end
set_exception(e) click to toggle source

Set Exception

Arguments:

e: (Exception)
# File lib/ost-kyc-sdk-ruby/util/result.rb, line 64
def set_exception(e)
  @exception = e
end
set_http_code(h_c) click to toggle source

Set HTTP Code

Arguments:

msg: (String)
# File lib/ost-kyc-sdk-ruby/util/result.rb, line 52
def set_http_code(h_c)
  if h_c.nil?
    @http_code = 200
  else
    @http_code = h_c.to_i
  end
end
set_message(msg) click to toggle source

Set Message

Arguments:

msg: (String)
# File lib/ost-kyc-sdk-ruby/util/result.rb, line 44
def set_message(msg)
  @message = msg
end
to_hash() click to toggle source

Create an Hash out of all instance vars

Returns:

obj: (Hash)
# File lib/ost-kyc-sdk-ruby/util/result.rb, line 194
def to_hash
  self.class.fields.each_with_object({}) do |key, hash|
    val = send(key)
    hash[key] = val if !val.nil?
  end
end
to_json() click to toggle source

To JSON

Returns:

obj: (Hash)
# File lib/ost-kyc-sdk-ruby/util/result.rb, line 206
def to_json

  hash = self.to_hash

  if (hash[:error] == nil)
    h = {
        success: true
    }.merge(hash)
    h
  else
    {
        success: false,
        err: {
            internal_id: hash[:internal_id] || 'SDK',
            code: hash[:error],
            msg: hash[:error_message],
            error_data: hash[:error_data] || []
        }
    }
  end

end
valid?() click to toggle source

is valid?

@return [Boolean] returns True / False

# File lib/ost-kyc-sdk-ruby/util/result.rb, line 72
def valid?
  !invalid?
end