class Coupons
Public Class Methods
from(source, total_price_without_tax)
click to toggle source
# File lib/order_coupon.rb, line 33 def self.from(source, total_price_without_tax) doc = Nokogiri::HTML(source) coupons = doc.css("li").map { |item| Coupon.new(item, total_price_without_tax) } # Sort coupons by real value, expiration date while deranking those that cannot be used (error) coupons = [coupons.reject(&:error), coupons.select(&:error)].map do |coups| coups.group_by(&:real_value).sort.reverse.map do |_real_value, same_value_coupons| same_value_coupons.sort_by(&:expiry) end end.flatten Coupons.new(coupons) end
Public Instance Methods
selection_list()
click to toggle source
# File lib/order_coupon.rb, line 47 def selection_list map(&:list_item) end