Class: TrailerVote::Api::Place::Find
- Inherits:
-
Object
- Object
- TrailerVote::Api::Place::Find
show all
- Includes:
- Composable::Get
- Defined in:
- lib/trailer_vote/api/place/find.rb,
lib/trailer_vote/api/place/create.rb,
lib/trailer_vote/api/place/children.rb
Constant Summary
collapse
- SUCCESS =
MediaTypes::Place.to_constructable.version(3)
- FAILURE =
MediaTypes::Errors.to_constructable.version(1)
- ACCEPT =
[SUCCESS.to_s, FAILURE.to_s(0.1)].join(', ').freeze
Instance Method Summary
collapse
#etag, included, #links, #to_h, #to_i
Constructor Details
#initialize(configuration:, result: nil) ⇒ Find
Returns a new instance of Find.
25
26
27
28
|
# File 'lib/trailer_vote/api/place/find.rb', line 25
def initialize(configuration:, result: nil)
self.configuration = configuration
self.result = result
end
|
Instance Method Details
31
32
33
34
35
|
# File 'lib/trailer_vote/api/place/find.rb', line 31
def back
backtrack = result
backtrack = result.back while backtrack&.is_a?(self.class)
backtrack || configuration
end
|
#call(url: resolve_url) ⇒ Object
37
38
39
40
41
42
43
|
# File 'lib/trailer_vote/api/place/find.rb', line 37
def call(url: resolve_url)
return self if ok? || !url
guard_network_errors do
branch(resolve_client.(Headers::ACCEPT => ACCEPT).get(url))
end
end
|
#children ⇒ TrailerVote::Api::Product::Children
Returns api to deal with a place’s children.
11
12
13
|
# File 'lib/trailer_vote/api/place/children.rb', line 11
def children
Children.new(configuration: configuration, place: self)
end
|
Returns the api to create a child place.
13
14
15
|
# File 'lib/trailer_vote/api/place/create.rb', line 13
def create
Create.new(configuration: configuration, place: self)
end
|
#data ⇒ Object
49
50
51
|
# File 'lib/trailer_vote/api/place/find.rb', line 49
def data
to_h[:place]
end
|
#parent ⇒ Object
53
54
55
56
|
# File 'lib/trailer_vote/api/place/find.rb', line 53
def parent
Find.new(configuration: configuration)
.call(url: links.parent)
end
|
#resolve_url ⇒ Object
45
46
47
|
# File 'lib/trailer_vote/api/place/find.rb', line 45
def resolve_url
configuration.links.place
end
|