Class: LinearApi::Result

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

Overview

Result object for API operations

Always check success?/failure? before accessing data/error:

result = client.create_issue(title: 'Bug')
if result.success?
puts result.data.identifier
else
puts result.error
end

Or use value! to raise on failure:

issue = client.create_issue(title: 'Bug').value!
puts issue.identifier

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(success:, data: nil, error: nil, raw_response: nil) ⇒ Result

Returns a new instance of Result.



23
24
25
26
27
28
# File 'lib/linear_api/result.rb', line 23

def initialize(success:, data: nil, error: nil, raw_response: nil)
  @success = success
  @data = data
  @error = error
  @raw_response = raw_response
end

Instance Attribute Details

#dataObject (readonly)

Returns the value of attribute data.



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

def data
  @data
end

#errorObject (readonly)

Returns the value of attribute error.



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

def error
  @error
end

#raw_responseObject (readonly)

Returns the value of attribute raw_response.



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

def raw_response
  @raw_response
end

Instance Method Details

#failure?Boolean

Returns:

  • (Boolean)


34
35
36
# File 'lib/linear_api/result.rb', line 34

def failure?
  !@success
end

#success?Boolean

Returns:

  • (Boolean)


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

def success?
  @success
end

#value!Object

Returns data on success, raises LinearApi::Error on failure

Returns:

  • (Object)

    the result data

Raises:



42
43
44
45
46
# File 'lib/linear_api/result.rb', line 42

def value!
  raise LinearApi::Error, error if failure?

  data
end