Class: Qi::Store
- Inherits:
-
Object
- Object
- Qi::Store
- Defined in:
- lib/qi/store.rb
Overview
Main class.
Instance Attribute Summary collapse
-
#cells ⇒ Array
readonly
The cells in the store.
Instance Method Summary collapse
-
#call(src_cell, dst_cell, content) ⇒ Store
The new store.
-
#initialize(size, options = {}) ⇒ Store
constructor
A new instance of Store.
Constructor Details
#initialize(size, options = {}) ⇒ Store
Returns a new instance of Store.
6 7 8 9 10 11 12 |
# File 'lib/qi/store.rb', line 6 def initialize(size, = {}) @cells = Array.new(size) .each do |cell, piece| @cells[cell] = piece end end |
Instance Attribute Details
#cells ⇒ Array (readonly)
Returns The cells in the store.
17 18 19 |
# File 'lib/qi/store.rb', line 17 def cells @cells end |
Instance Method Details
#call(src_cell, dst_cell, content) ⇒ Store
Returns The new store.
24 25 26 27 28 29 30 31 32 33 |
# File 'lib/qi/store.rb', line 24 def call(src_cell, dst_cell, content) h = contents h.delete(src_cell) deleted_content = h.delete(dst_cell) h[dst_cell] = content new_store = self.class.new(cells.length, h) Result.new(new_store, deleted_content) end |