module StringCalculator

Constants

VERSION

Public Instance Methods

array_sum() click to toggle source
# File lib/string_calculator.rb, line 23
def array_sum
 sum = 0
 digits.each { |x| sum+=x if x < 1001 }
 sum
end
delimiter() click to toggle source
# File lib/string_calculator.rb, line 10
def delimiter
 ','
end
digits() click to toggle source
# File lib/string_calculator.rb, line 14
def digits
 gsub(regular_expression,delimiter).split(delimiter).reject(&:empty?).map(&:to_i)
end
manipulate() click to toggle source
# File lib/string_calculator.rb, line 4
def manipulate
  return 0 if empty?
  raise_if_negatives_present if include?("-")
  return array_sum
 end
raise_if_negatives_present() click to toggle source
# File lib/string_calculator.rb, line 18
def raise_if_negatives_present
 negativies = digits.select{|x| x < 0}
 raise "Negativies not allowed:#{negativies.join(',')}" if negativies.any?
end
regular_expression() click to toggle source
# File lib/string_calculator.rb, line 29
def regular_expression
/[\n`~!@#$%^&*()_|+\=?;:'",.<>\{\}\[\]\\\/]/
end