class OrderItem

Attributes

details[RW]
name[RW]

Public Class Methods

new(item) click to toggle source
# File lib/order_review.rb, line 57
def initialize(item)
  self.name = item.css(".orderItems_item_name").first.text.strip.gsub(/\s+/, " ")
  # TODO: Get toppings list

  details_element = item.css(".orderItems_item_detail")
  details_dt = details_element.css("dt").map { |t| t.text.strip.gsub(/\s+/, " ") }
  details_dd = details_element.css("dd").map { |t| t.text.strip.gsub(/\s+/, " ") }

  self.details = details_dt.zip(details_dd).to_h
  details["Price"] = item.css(".orderItems_item_price").text.strip.gsub(/\s+/, " ")
end

Public Instance Methods

to_s() click to toggle source
# File lib/order_review.rb, line 69
def to_s
  deets = details.map { |key, value| "  #{key}: #{value}" }.join("\n")
  "#{name.colorize(:blue)}\n#{deets}"
end