class OrderAddress

Attributes

address[RW]

Public Instance Methods

input() click to toggle source
# File lib/order_address.rb, line 5
def input
  response = Request.get("https://order.dominos.jp/eng/receipt/",
                         expect: :ok, failure: "Couldn't get order types page")

  addresses = Addresses.from(response.body)
  index = Ask.list "Choose an address", addresses.selection_list
  self.address = addresses[index]
end
validate() click to toggle source
# File lib/order_address.rb, line 14
def validate
  raise "Missing attributes" unless address

  # Get the default parameters and add in the delivery address
  params = default_params.merge("todokeSeq" => address.id)

  Request.post("https://order.dominos.jp/eng/receipt/setReceipt", params,
               expect: :redirect, to: "https://order.dominos.jp/eng/receipt/input/",
               failure: "Couldn't set the delivery address")
end

Private Instance Methods

default_params() click to toggle source
# File lib/order_address.rb, line 27
def default_params
  {
    # Receipt method: 1=delivery, 3=pickup
    "receiptMethod" => "1",
    # Rest is untouched
    "tenpoC" => "",
    "jushoC" => "",
    "kokyakuJushoBanchi" => "",
    "banchiCheckBox" => "",
    "buildNm" => "",
    "buildCheckBox" => "",
    "todokeShortNm" => "",
    "kigyoNm" => "",
    "bushoNm" => "",
    "naisen" => "",
    "targetYmd" => nil,
    "targetYmdhm" => nil,
    "gpsPinpointF" => false
  }
end