Class: Spreadshit

Inherits:
Object
  • Object
show all
Defined in:
lib/spreadshit.rb,
lib/spreadshit/version.rb

Defined Under Namespace

Classes: Formula, Functions, Window

Constant Summary collapse

VERSION =
"0.1.0"

Instance Method Summary collapse

Constructor Details

#initialize(parser = Formula.new, functions = Functions.new) ⇒ Spreadshit

Returns a new instance of Spreadshit.



5
6
7
8
9
# File 'lib/spreadshit.rb', line 5

def initialize(parser = Formula.new, functions = Functions.new)
  @cells = Hash.new { |hash, key| hash[key] = Cell.new }
  @parser = parser
  @functions = functions
end

Instance Method Details

#[](address) ⇒ Object



11
12
13
# File 'lib/spreadshit.rb', line 11

def [](address)
  @cells[address.to_sym].value
end

#[]=(address, value) ⇒ Object



15
16
17
# File 'lib/spreadshit.rb', line 15

def []=(address, value)
  @cells[address.to_sym].update(value) { parse(value) }
end

#cell_at(address) ⇒ Object



19
20
21
# File 'lib/spreadshit.rb', line 19

def cell_at(address)
  @cells[address.to_sym]
end