Class: InstagramConnect::Result

Inherits:
Object
  • Object
show all
Defined in:
lib/instagram_connect/result.rb

Overview

Value object returned by every Client call. Client methods never raise for API-level failures — callers branch on success? and read error_code / error_message. Transport/programming errors still raise.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(success:, id: nil, error_code: nil, error_message: nil, retry_after: nil, data: {}) ⇒ Result

Returns a new instance of Result.



8
9
10
11
12
13
14
15
# File 'lib/instagram_connect/result.rb', line 8

def initialize(success:, id: nil, error_code: nil, error_message: nil, retry_after: nil, data: {})
  @success = success
  @id = id
  @error_code = error_code
  @error_message = error_message
  @retry_after = retry_after
  @data = data || {}
end

Instance Attribute Details

#dataObject (readonly)

Returns the value of attribute data.



6
7
8
# File 'lib/instagram_connect/result.rb', line 6

def data
  @data
end

#error_codeObject (readonly)

Returns the value of attribute error_code.



6
7
8
# File 'lib/instagram_connect/result.rb', line 6

def error_code
  @error_code
end

#error_messageObject (readonly)

Returns the value of attribute error_message.



6
7
8
# File 'lib/instagram_connect/result.rb', line 6

def error_message
  @error_message
end

#idObject (readonly)

Returns the value of attribute id.



6
7
8
# File 'lib/instagram_connect/result.rb', line 6

def id
  @id
end

#retry_afterObject (readonly)

Returns the value of attribute retry_after.



6
7
8
# File 'lib/instagram_connect/result.rb', line 6

def retry_after
  @retry_after
end

#successObject (readonly)

Returns the value of attribute success.



6
7
8
# File 'lib/instagram_connect/result.rb', line 6

def success
  @success
end

Class Method Details

.error(message, error_code: nil, retry_after: nil, data: {}) ⇒ Object



30
31
32
# File 'lib/instagram_connect/result.rb', line 30

def self.error(message, error_code: nil, retry_after: nil, data: {})
  new(success: false, error_message: message, error_code: error_code, retry_after: retry_after, data: data)
end

.ok(id: nil, data: {}) ⇒ Object

Convenience builders so call sites read cleanly.



26
27
28
# File 'lib/instagram_connect/result.rb', line 26

def self.ok(id: nil, data: {})
  new(success: true, id: id, data: data)
end

Instance Method Details

#failure?Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/instagram_connect/result.rb', line 21

def failure?
  !success?
end

#success?Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/instagram_connect/result.rb', line 17

def success?
  success
end