Class: TrailerVote::Api::Product::Find
- Inherits:
-
Object
- Object
- TrailerVote::Api::Product::Find
- Includes:
- Composable::Get
- Defined in:
- lib/trailer_vote/api/product/find.rb,
lib/trailer_vote/api/product/image.rb,
lib/trailer_vote/api/product/place.rb,
lib/trailer_vote/api/product/video.rb,
lib/trailer_vote/api/product/update.rb
Constant Summary collapse
- SUCCESS =
MediaTypes::Product.to_constructable.version(2)
- FAILURE =
MediaTypes::Errors.to_constructable.version(1)
- ACCEPT =
[SUCCESS.to_s, FAILURE.to_s(0.1)].join(', ').freeze
Instance Method Summary collapse
-
#back ⇒ TrailerVote::Api::Product::Find, ...
Return the api that yielded this.
- #call(url: nil, data: nil) ⇒ Object
- #data ⇒ Object
-
#image ⇒ TrailerVote::Api::Product::Image
(also: #product_image, #images)
Api to deal with a product’s images.
-
#initialize(configuration:, result: nil) ⇒ Find
constructor
A new instance of Find.
-
#place ⇒ TrailerVote::Api::Place
(also: #product_place, #places)
Api to deal with a product’s places.
-
#update ⇒ TrailerVote::Api::Product::Update
Api to deal with a updating a found product.
-
#video ⇒ TrailerVote::Api::Product::Video
(also: #product_video, #videos)
Api to deal with a product’s videos.
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.
26 27 28 29 |
# File 'lib/trailer_vote/api/product/find.rb', line 26 def initialize(configuration:, result: nil) self.configuration = configuration self.result = result end |
Instance Method Details
#back ⇒ TrailerVote::Api::Product::Find, ...
Return the api that yielded this
36 37 38 39 40 |
# File 'lib/trailer_vote/api/product/find.rb', line 36 def back backtrack = result backtrack = result.back while backtrack&.is_a?(self.class) backtrack end |
#call(url: nil, data: nil) ⇒ Object
42 43 44 45 46 47 |
# File 'lib/trailer_vote/api/product/find.rb', line 42 def call(url: nil, data: nil) return self if ok? || !url guard_network_errors do branch(resolve_client.headers(Headers::ACCEPT => ACCEPT).get(url), data: data) end end |
#data ⇒ Object
49 50 51 |
# File 'lib/trailer_vote/api/product/find.rb', line 49 def data to_h[:product] end |
#image ⇒ TrailerVote::Api::Product::Image Also known as: product_image, images
Returns api to deal with a product’s images.
11 12 13 |
# File 'lib/trailer_vote/api/product/image.rb', line 11 def image Image.new(configuration: configuration, product: self) end |
#place ⇒ TrailerVote::Api::Place Also known as: product_place, places
Returns api to deal with a product’s places.
13 14 15 |
# File 'lib/trailer_vote/api/product/place.rb', line 13 def place Place.new(configuration: configuration, product: self) end |
#update ⇒ TrailerVote::Api::Product::Update
Returns api to deal with a updating a found product.
13 14 15 |
# File 'lib/trailer_vote/api/product/update.rb', line 13 def update Update.new(configuration: configuration, product: self) end |
#video ⇒ TrailerVote::Api::Product::Video Also known as: product_video, videos
Returns api to deal with a product’s videos.
11 12 13 |
# File 'lib/trailer_vote/api/product/video.rb', line 11 def video Video.new(configuration: configuration, product: self) end |