Module: ItemEndpoints
- Includes:
- Constants, FormData, ResponseFormatter
- Included in:
- Auciel
- Defined in:
- lib/endpoints/item.rb
Overview
get item by id and other item-related methods
Constant Summary collapse
- GET_ITEM_BY_ID =
{ method: 'get', path: '/item/:id', responder: item_by_id, opts: { content_type: 'application/json' } }.values.freeze
- GET_ITEM_BY_CATEGORY =
{ method: 'get', path: '/item/:cat/:sub', responder: items_by_category, opts: { content_type: 'application/json' } }.values.freeze
Constants included from ApiErrors
ApiErrors::UNEXPECTED_BLACK_DESERT_RESPONSE
Constants included from Constants
Constants::COOKIE, Constants::MARKET_HOT_LIST, Constants::MARKET_SEARCH_LIST, Constants::MARKET_SELL_BUY_INFO, Constants::MARKET_SUB_LIST, Constants::MARKET_WAIT_LIST, Constants::REQUEST_OPTS, Constants::ROOT_URL, Constants::RVT, Constants::WORLD_MARKET_LIST
Class Method Summary collapse
- .item_by_id ⇒ Object
- .items_by_category ⇒ Object
- .respond_if_available(res) ⇒ Object
- .send_post_request(uri, data) ⇒ Object
Methods included from ResponseFormatter
format_cat_response, format_hot_response, format_item_response, format_price_list_response, format_search_response, format_waitlist_response, try_error
Methods included from FormData
item_by_cat_data, item_by_id_data, price_list_data, search_item_by_text_data
Class Method Details
.item_by_id ⇒ Object
51 52 53 54 55 56 57 58 59 60 |
# File 'lib/endpoints/item.rb', line 51 def self.item_by_id lambda do |req| item_id = req[:vars]['id'] uri = URI "#{Constants::ROOT_URL}#{Constants::MARKET_SUB_LIST}" form = FormData.item_by_id_data item_id res = send_post_request uri, form ResponseFormatter.format_item_response(respond_if_available(res)) end end |
.items_by_category ⇒ Object
62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/endpoints/item.rb', line 62 def self.items_by_category lambda do |req| item_cat = req[:vars]['cat'] item_sub = req[:vars]['sub'] uri = URI "#{Constants::ROOT_URL}#{Constants::WORLD_MARKET_LIST}" form = FormData.item_by_cat_data item_cat, item_sub res = send_post_request uri, form ResponseFormatter.format_cat_response(respond_if_available(res)) end end |
.respond_if_available(res) ⇒ Object
42 43 44 45 46 47 48 49 |
# File 'lib/endpoints/item.rb', line 42 def self.respond_if_available(res) return res.body if res.body { error: 'invalid response from the black desert api.', response: res }.to_json end |
.send_post_request(uri, data) ⇒ Object
32 33 34 35 36 37 38 39 40 |
# File 'lib/endpoints/item.rb', line 32 def self.send_post_request(uri, data) uri_params = URI.encode_www_form data HTTParty.post( uri, body: uri_params, headers: Constants::REQUEST_OPTS[:headers] ) end |