Class: IpagosRubySdk::Response

Inherits:
Object
  • Object
show all
Defined in:
lib/ipagos_ruby_sdk/types.rb

Overview

Respuesta (Equivale a IpagosResponse.php)

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(success:, data: nil, error_message: nil, status_code: 200) ⇒ Response

Returns a new instance of Response.



25
26
27
28
29
30
31
32
# File 'lib/ipagos_ruby_sdk/types.rb', line 25

def initialize(success:, data: nil, error_message: nil, status_code: 200)
  @success = success
  @data = data
  @error_message = error_message
  @status_code = status_code
  # Hacemos el objeto inmutable
  freeze
end

Instance Attribute Details

#data ⇒ Object (readonly)

Returns the value of attribute data.



23
24
25
# File 'lib/ipagos_ruby_sdk/types.rb', line 23

def data
  @data
end

#error_message ⇒ Object (readonly)

Returns the value of attribute error_message.



23
24
25
# File 'lib/ipagos_ruby_sdk/types.rb', line 23

def error_message
  @error_message
end

#status_code ⇒ Object (readonly)

Returns the value of attribute status_code.



23
24
25
# File 'lib/ipagos_ruby_sdk/types.rb', line 23

def status_code
  @status_code
end

#success ⇒ Object (readonly)

Returns the value of attribute success.



23
24
25
# File 'lib/ipagos_ruby_sdk/types.rb', line 23

def success
  @success
end

Class Method Details

.error(message, status_code = 400) ⇒ Object

Factory para respuestas de error



51
52
53
# File 'lib/ipagos_ruby_sdk/types.rb', line 51

def self.error(message, status_code = 400)
  new(success: false, error_message: message, status_code: status_code)
end

.success(data = nil, status_code = 200) ⇒ Object

Factory para respuestas exitosas



46
47
48
# File 'lib/ipagos_ruby_sdk/types.rb', line 46

def self.success(data = nil, status_code = 200)
  new(success: true, data: data, status_code: status_code)
end

Instance Method Details

#get(key, default = nil) ⇒ Object

Obtiene valores del payload soportando Strings o Símbolos



39
40
41
42
43
# File 'lib/ipagos_ruby_sdk/types.rb', line 39

def get(key, default = nil)
  return default unless @data.is_a?(Hash)
  
  @data[key.to_s] || @data[key.to_sym] || default
end

#success? ⇒ Boolean

Returns:

  • (Boolean)


34
35
36
# File 'lib/ipagos_ruby_sdk/types.rb', line 34

def success?
  @success
end