class StringCalculator

Public Class Methods

new(value = 0) click to toggle source
# File lib/calculator/string_calculator.rb, line 5
def initialize(value = 0)
  @value = value
end

Public Instance Methods

add(string) click to toggle source
# File lib/calculator/string_calculator.rb, line 13
def add(string)
  check_negatives(string)
  @value += sum_ints(string)
  self
end
check_negatives(string) click to toggle source
# File lib/calculator/string_calculator.rb, line 29
def check_negatives(string)
  negs = ints(string).select { |i| i<0 }
  raise "Negatives not allowed! #{negs.join(', ')}" if negs.any?
  self
end
subtract(string) click to toggle source
# File lib/calculator/string_calculator.rb, line 24
def subtract(string)
  @value -= sum_ints(string)
  self
end
sum_ints(string) click to toggle source
# File lib/calculator/string_calculator.rb, line 19
def sum_ints(string)
  ints(string).inject(:+)
end
value() click to toggle source
# File lib/calculator/string_calculator.rb, line 9
def value
  @value
end