From da3163460020406a41a486881d341c25012042b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20K=C3=A4chele?= Date: Fri, 27 Oct 2023 14:56:19 +0200 Subject: [PATCH] Implement limit --- lib/rex/limit.rb | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 lib/rex/limit.rb diff --git a/lib/rex/limit.rb b/lib/rex/limit.rb new file mode 100644 index 0000000..9645ddd --- /dev/null +++ b/lib/rex/limit.rb @@ -0,0 +1,40 @@ +module Rex + class Limit + def initialize(price) + @price = price + @first_order = nil + @last_order = nil + @order_count = 0 + end + + def peek_first_order + @first_order + end + + def pop_first_order + order = @first_order + @first_order = @first_order.next_order + if @first_order == nil + @last_order = nil + end + + @order_count -= 1 + order + end + + def add_order(order) + if empty? + @first_order = order + @last_order = order + else + @last_order.next_order = order + @last_order = order + end + @order_count += 1 + end + + def empty? + @order_count == 0 + end + end +end