Class: Printavo::ResponseEnvelope

Inherits:
Object
  • Object
show all
Defined in:
lib/printavo/response_envelope.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data:, errors: [], metadata: {}) ⇒ ResponseEnvelope

Returns a new instance of ResponseEnvelope.



8
9
10
11
12
13
# File 'lib/printavo/response_envelope.rb', line 8

def initialize(data:, errors: [], metadata: {})
  @data = immutable_copy(data)
  @errors = immutable_copy(errors)
  @metadata = immutable_copy()
  freeze
end

Instance Attribute Details

#dataObject (readonly)

Returns the value of attribute data.



6
7
8
# File 'lib/printavo/response_envelope.rb', line 6

def data
  @data
end

#errorsObject (readonly)

Returns the value of attribute errors.



6
7
8
# File 'lib/printavo/response_envelope.rb', line 6

def errors
  @errors
end

#metadataObject (readonly)

Returns the value of attribute metadata.



6
7
8
# File 'lib/printavo/response_envelope.rb', line 6

def 
  @metadata
end

Instance Method Details

#partial?Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/printavo/response_envelope.rb', line 19

def partial?
  !data.nil? && errors.any?
end

#success?Boolean

Returns:

  • (Boolean)


15
16
17
# File 'lib/printavo/response_envelope.rb', line 15

def success?
  errors.empty?
end

#to_hObject



23
24
25
# File 'lib/printavo/response_envelope.rb', line 23

def to_h
  { 'data' => data, 'errors' => errors, 'metadata' =>  }.freeze
end