class HelloRubyCalculator::Calculator

Attributes

args[R]

Public Instance Methods

divide(*args) click to toggle source
# File lib/hello_ruby_calculator/calculator.rb, line 26
def divide *args
  @args = args
  validate_params

  args.reduce(:/)
end
multiply(*args) click to toggle source
# File lib/hello_ruby_calculator/calculator.rb, line 19
def multiply *args
  @args = args
  validate_params

  args.reduce(:*)
end
subtract(*args) click to toggle source
# File lib/hello_ruby_calculator/calculator.rb, line 12
def subtract *args
  @args = args
  validate_params

  args.reduce(:-)
end
sum(*args) click to toggle source
# File lib/hello_ruby_calculator/calculator.rb, line 5
def sum *args
  @args = args
  validate_params

  args.reduce(:+)
end

Private Instance Methods

only_numbers?() click to toggle source
# File lib/hello_ruby_calculator/calculator.rb, line 34
def only_numbers?
  @args.all?{ |arg| arg.is_a? Fixnum }
end
validate_params() click to toggle source
# File lib/hello_ruby_calculator/calculator.rb, line 38
def validate_params
  raise EmptyParams if @args.empty?
  raise WrongParams unless only_numbers?
end