Class: TrailerVote::Api::Issue::Find

Inherits:
Object
  • Object
show all
Includes:
Composable::Get
Defined in:
lib/trailer_vote/api/issue/find.rb

Constant Summary collapse

SUCCESS =
MediaTypes::Issue.to_constructable.version(1)
FAILURE =
MediaTypes::Errors.to_constructable.version(1)
ACCEPT =
[SUCCESS.to_s, FAILURE.to_s(0.1)].join(', ').freeze

Instance Method Summary collapse

Methods included from Composable::Get

#etag, included, #links, #to_h, #to_i

Constructor Details

#initialize(configuration:, result: nil) ⇒ Find

Returns a new instance of Find.



17
18
19
20
# File 'lib/trailer_vote/api/issue/find.rb', line 17

def initialize(configuration:, result: nil)
  self.configuration = configuration
  self.result = result
end

Instance Method Details

#backTrailerVote::Api::Configuration, TrailerVote::Api::Issue::Create



23
24
25
26
27
# File 'lib/trailer_vote/api/issue/find.rb', line 23

def back
  backtrack = result
  backtrack = result.back while backtrack&.is_a?(self.class)
  backtrack || configuration
end

#call(url: nil) ⇒ Object



29
30
31
32
33
34
# File 'lib/trailer_vote/api/issue/find.rb', line 29

def call(url: nil)
  return self if ok? || !url
  guard_network_errors do
    branch(resolve_client.headers(Headers::ACCEPT => ACCEPT).get(url))
  end
end

#dataObject



36
37
38
# File 'lib/trailer_vote/api/issue/find.rb', line 36

def data
  to_h[:issue]
end