Class: OstKycSdkRuby::Util::Result

Inherits:
Object
  • Object
show all
Defined in:
lib/ost-kyc-sdk-ruby/util/result.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params = {}) ⇒ Result

Initialize

Arguments:

params: (Hash)


22
23
24
25
26
27
# 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

Instance Attribute Details

#dataObject

OstKycSdkRuby::Util::Result



9
10
11
# File 'lib/ost-kyc-sdk-ruby/util/result.rb', line 9

def data
  @data
end

#errorObject

OstKycSdkRuby::Util::Result



9
10
11
# File 'lib/ost-kyc-sdk-ruby/util/result.rb', line 9

def error
  @error
end

#error_dataObject

OstKycSdkRuby::Util::Result



9
10
11
# File 'lib/ost-kyc-sdk-ruby/util/result.rb', line 9

def error_data
  @error_data
end

#error_messageObject

OstKycSdkRuby::Util::Result



9
10
11
# File 'lib/ost-kyc-sdk-ruby/util/result.rb', line 9

def error_message
  @error_message
end

#exceptionObject

OstKycSdkRuby::Util::Result



9
10
11
# File 'lib/ost-kyc-sdk-ruby/util/result.rb', line 9

def exception
  @exception
end

#http_codeObject

OstKycSdkRuby::Util::Result



9
10
11
# File 'lib/ost-kyc-sdk-ruby/util/result.rb', line 9

def http_code
  @http_code
end

#internal_idObject

OstKycSdkRuby::Util::Result



9
10
11
# File 'lib/ost-kyc-sdk-ruby/util/result.rb', line 9

def internal_id
  @internal_id
end

#messageObject

OstKycSdkRuby::Util::Result



9
10
11
# File 'lib/ost-kyc-sdk-ruby/util/result.rb', line 9

def message
  @message
end

Class Method Details

.error(params) ⇒ Object

Error

Returns:

obj: (OstKycSdkRuby::Util::Result)


128
129
130
# File 'lib/ost-kyc-sdk-ruby/util/result.rb', line 128

def self.error(params)
  new(params)
end

.error_fieldsObject

Error Fields

Returns:

obj: (Array)


180
181
182
183
184
185
186
187
# 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 = {}) ⇒ Object

Exception

Returns:

obj: (OstKycSdkRuby::Util::Result)


146
147
148
149
150
# 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

.fieldsObject

Fields

Returns:

obj: (Array)


171
172
173
# File 'lib/ost-kyc-sdk-ruby/util/result.rb', line 171

def self.fields
  error_fields + [:data, :message]
end

.no_errorObject

No Error

Returns:

obj: (Hash)


157
158
159
160
161
162
163
164
# 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) ⇒ Object

Success

Returns:

obj: (OstKycSdkRuby::Util::Result)


137
138
139
# File 'lib/ost-kyc-sdk-ruby/util/result.rb', line 137

def self.success(params)
  new(params.merge!(no_error))
end

Instance Method Details

#[](key) ⇒ Object

Get instance variables Hash style from object



119
120
121
# File 'lib/ost-kyc-sdk-ruby/util/result.rb', line 119

def [](key)
  instance_variable_get("@#{key}")
end

#errors_present?Boolean

are errors present?

Returns:

  • (Boolean)

    returns True / False



100
101
102
103
104
105
106
# File 'lib/ost-kyc-sdk-ruby/util/result.rb', line 100

def errors_present?
  @internal_id ||
      @error ||
      @error_message ||
      @error_data ||
      @exception
end

#exception_messageObject

Exception message

Returns:

exception_message: (String)


113
114
115
# File 'lib/ost-kyc-sdk-ruby/util/result.rb', line 113

def exception_message
  @e_m ||= @exception.nil? ? '' : @exception.message
end

#invalid?Boolean

is invalid?

Returns:

  • (Boolean)

    returns True / False



80
81
82
# File 'lib/ost-kyc-sdk-ruby/util/result.rb', line 80

def invalid?
  errors_present?
end

#set_error(params) ⇒ Object

Set Error

Arguments:

params: (Hash)


33
34
35
36
37
38
# 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) ⇒ Object

Set Exception

Arguments:

e: (Exception)


64
65
66
# File 'lib/ost-kyc-sdk-ruby/util/result.rb', line 64

def set_exception(e)
  @exception = e
end

#set_http_code(h_c) ⇒ Object

Set HTTP Code

Arguments:

msg: (String)


52
53
54
55
56
57
58
# 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) ⇒ Object

Set Message

Arguments:

msg: (String)


44
45
46
# File 'lib/ost-kyc-sdk-ruby/util/result.rb', line 44

def set_message(msg)
  @message = msg
end

#to_hashObject

Create an Hash out of all instance vars

Returns:

obj: (Hash)


194
195
196
197
198
199
# 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_jsonObject

To JSON

Returns:

obj: (Hash)


206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
# 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?Boolean

is valid?

Returns:

  • (Boolean)

    returns True / False



72
73
74
# File 'lib/ost-kyc-sdk-ruby/util/result.rb', line 72

def valid?
  !invalid?
end