class OrderCoupon

Attributes

add_coupon[RW]
coupon[RW]
total_price_without_tax[RW]

Public Instance Methods

input() click to toggle source
# File lib/order_coupon.rb, line 7
def input
  self.add_coupon = Ask.confirm "Add a coupon?"
  return unless add_coupon

  response = Request.get("https://order.dominos.jp/eng/coupon/use/",
                         expect: :ok, failure: "Couldn't get coupons list")

  coupons = Coupons.from(response.body, total_price_without_tax)
  selected_coupon_index = Ask.list "Choose a coupon", coupons.selection_list
  self.coupon = coupons[selected_coupon_index]
end
validate() click to toggle source
# File lib/order_coupon.rb, line 19
def validate
  return unless add_coupon

  unless coupon.usable?
    puts "This coupon cannot be used."
    return
  end

  Request.post("https://order.dominos.jp/eng/webapi/sides/setUserCoupon/", coupon.params,
               expect: :ok, failure: "Couldn't add coupon")
end