Class: Spreadshit

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

Defined Under Namespace

Classes: Cell, Formula, Functions, Window

Constant Summary collapse

VERSION =
"0.2.0"

Instance Method Summary collapse

Constructor Details

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

Returns a new instance of Spreadshit.



8
9
10
11
12
# File 'lib/spreadshit.rb', line 8

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

Instance Method Details

#[](address) ⇒ Object



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

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

#[]=(address, value) ⇒ Object



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

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

#cell(address) ⇒ Object



26
27
28
# File 'lib/spreadshit.rb', line 26

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

#raw(address) ⇒ Object



22
23
24
# File 'lib/spreadshit.rb', line 22

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