class Cartos::Google::Sheet::Formulas

Public Class Methods

new() click to toggle source
# File lib/cartos/google/sheet.rb, line 6
def initialize
  @buffer = []
end

Public Instance Methods

abs(number = nil) click to toggle source
# File lib/cartos/google/sheet.rb, line 19
def abs(number = nil)
  @buffer.unshift ["ABS", number]
  self
end
filter(sourceArray, *conditions) click to toggle source
# File lib/cartos/google/sheet.rb, line 14
def filter(sourceArray, *conditions)
  @buffer.unshift ["FILTER", [sourceArray, conditions]]
  self
end
sum(*numbers) click to toggle source
# File lib/cartos/google/sheet.rb, line 9
def sum(*numbers)
  @buffer.unshift ["SUM", numbers]
  self
end
to_s() click to toggle source
# File lib/cartos/google/sheet.rb, line 28
def to_s
  result = @buffer.inject("") do |memo, element|
    name, *params = *element
    params = params.flatten.compact
    if params.empty?
      memo = "#{name}(#{memo})"
    else
      memo = "#{name}(#{params.join(",")})"
    end
    memo
  end
  "=" + result
end
unique(array) click to toggle source
# File lib/cartos/google/sheet.rb, line 24
def unique(array)
  @buffer.unshift ["UNIQUE", array]
end