Module: StringCalculator
- Defined in:
- lib/string_calculator.rb,
lib/string_calculator/version.rb
Constant Summary collapse
- VERSION =
"0.1.0"
Instance Method Summary collapse
- #array_sum ⇒ Object
- #delimiter ⇒ Object
- #digits ⇒ Object
- #manipulate ⇒ Object
- #raise_if_negatives_present ⇒ Object
- #regular_expression ⇒ Object
Instance Method Details
#array_sum ⇒ Object
23 24 25 26 27 |
# File 'lib/string_calculator.rb', line 23 def array_sum sum = 0 digits.each { |x| sum+=x if x < 1001 } sum end |
#delimiter ⇒ Object
10 11 12 |
# File 'lib/string_calculator.rb', line 10 def delimiter ',' end |
#digits ⇒ Object
14 15 16 |
# File 'lib/string_calculator.rb', line 14 def digits gsub(regular_expression,delimiter).split(delimiter).reject(&:empty?).map(&:to_i) end |
#manipulate ⇒ Object
4 5 6 7 8 |
# 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 ⇒ Object
18 19 20 21 |
# 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 ⇒ Object
29 30 31 |
# File 'lib/string_calculator.rb', line 29 def regular_expression /[\n`~!@#$%^&*()_|+\=?;:'",.<>\{\}\[\]\\\/]/ end |