class OrderReview

Attributes

page[RW]
total_price[RW]
total_price_without_tax[RW]

Public Instance Methods

display() click to toggle source
# File lib/order_review.rb, line 6
def display
  puts
  puts
  puts "Review Your Order".colorize(:red)

  source = page || default_page

  # Order items
  puts OrderItems.from(source)
  puts CouponItems.from(source)

  # General information
  puts retrieve_prices(source)
end

Private Instance Methods

default_page() click to toggle source
# File lib/order_review.rb, line 36
def default_page
  Request.get("https://order.dominos.jp/eng/pizza/search/",
              expect: :ok, failure: "Couldn't get pizza list page").body
end
retrieve_prices(source) click to toggle source
# File lib/order_review.rb, line 23
def retrieve_prices(source)
  doc = Nokogiri::HTML(source)
  total_price_element = doc.css(".totalPrice_taxin")
  total_price_title = total_price_element.css("dt").text.strip.gsub(/\s+/, " ")
  total_price_string = total_price_element.css("dd").text.strip.gsub(/\s+/, " ")

  self.total_price = total_price_string.delete(",").scan(/¥(\d+)/).flatten.first.to_i
  self.total_price_without_tax = total_price / 108 * 100 # 8% tax

  "\n#{total_price_title}: #{total_price_string.colorize(:red)}\n"\
    "#{doc.css(".totalPrice_tax").text}"
end