Sha256: e79c0e9929408b112b337fc00895334e8afa520de3113f1b1b3f2f2a903f454c

Contents?: true

Size: 593 Bytes

Versions: 1

Compression:

Stored size: 593 Bytes

Contents

module Orders
  # Represents DOM (OrderBook) for one security
  # индекс стакана по цене
  class OrderBook < IndexedList

    attr_accessor :isin_id, :changed

    def initialize isin_id
      @isin_id = isin_id
      @changed = true
      super()
    end

    def index item
      item.price
    end

    def add item
      if item.price > 0
        @changed = true # Marking DOM as changed
        super
      else
        self
      end
    end

    # Does not call super!
    def remove item
      @changed = true if delete index item # Marking DOM as changed
      self
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
orders-0.0.2 lib/orders/order_book.rb