Module: TinyBuilder::ApigatewayHelper

Included in:
ShopifyQuantity, WoocommerceQuantity, ZaloraQuantity
Defined in:
lib/tiny_builder/apigateway_helper.rb

Instance Method Summary collapse

Instance Method Details

#apigateway_urlObject



17
18
19
# File 'lib/tiny_builder/apigateway_helper.rb', line 17

def apigateway_url
  ENV['API_GATEWAY_URL'] || raise('api gateway is not set')
end

#headersObject



25
26
27
# File 'lib/tiny_builder/apigateway_helper.rb', line 25

def headers
  { content_type: :json, accept: :json }
end

#inventory_item_payload(listing) ⇒ Object



38
39
40
41
42
43
# File 'lib/tiny_builder/apigateway_helper.rb', line 38

def inventory_item_payload(listing)
  {
    "credential": credential,
    "data": { "local_id": listing[:local_id] }
  }.to_json
end

#location_payloadObject



45
46
47
48
49
# File 'lib/tiny_builder/apigateway_helper.rb', line 45

def location_payload
  {
    "credential": credential
  }.to_json
end

#rest_client(params, rescued_codes = 200) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
# File 'lib/tiny_builder/apigateway_helper.rb', line 5

def rest_client(params, rescued_codes = 200)
  RestClient::Request.execute(params.merge(timeout: 3)) do |response|
    code = response.code
    resp = response.body.to_str
    unless Array.wrap(rescued_codes).include?(code)
      raise "Response Code is #{code}" unless resp.include?('Response code = 404')
    end

    response
  end
end

#shopify_inventory_item_urlObject



51
52
53
# File 'lib/tiny_builder/apigateway_helper.rb', line 51

def shopify_inventory_item_url
  apigateway_url + '/shopify/data_variant'
end

#shopify_location_urlObject



55
56
57
# File 'lib/tiny_builder/apigateway_helper.rb', line 55

def shopify_location_url
  apigateway_url + '/shopify/data_location'
end

#woocommerce_item_payload(listing) ⇒ Object



63
64
65
66
67
68
# File 'lib/tiny_builder/apigateway_helper.rb', line 63

def woocommerce_item_payload(listing)
  {
    "credential": credential,
    "data": { "local_item_id": listing.local_item_id, local_id: listing[:local_id] }
  }.to_json
end

#woocommerce_product_urlObject



59
60
61
# File 'lib/tiny_builder/apigateway_helper.rb', line 59

def woocommerce_product_url
  apigateway_url + '/woocommerce/item'
end

#zalora_stock_payload(listing) ⇒ Object



29
30
31
32
33
34
35
36
# File 'lib/tiny_builder/apigateway_helper.rb', line 29

def zalora_stock_payload(listing)
  {
    "credential": credential,
    "data": {
      "productId": listing[:local_id]
    }
  }.to_json
end

#zalora_stock_urlObject



21
22
23
# File 'lib/tiny_builder/apigateway_helper.rb', line 21

def zalora_stock_url
  apigateway_url + "/zalora/listing_stock"
end