module Simplecheck

Constants

VERSION

Public Class Methods

check_arguments(arguments) click to toggle source
# File lib/simplecheck.rb, line 15
def self.check_arguments(arguments)
  case arguments.size
  when 1
    check_expression(arguments[0])
  else
    check_case_equality(*arguments)
  end
end
check_arguments_with_block(arguments, block) click to toggle source
# File lib/simplecheck.rb, line 24
def self.check_arguments_with_block(arguments, block)
  check_arguments(arguments + [block])
end
check_case_equality(*arguments, check_argument) click to toggle source
# File lib/simplecheck.rb, line 32
def self.check_case_equality(*arguments, check_argument)
  invalid_argument_index = arguments.index{ |argument| !(check_argument === argument) }

  if invalid_argument_index
    "#{ arguments[invalid_argument_index] } does not satisfy #{ check_argument }"
  end
end
check_expression(expression_satisfied) click to toggle source
# File lib/simplecheck.rb, line 28
def self.check_expression(expression_satisfied)
  'Condition is not satisfied' unless expression_satisfied
end
handle_failure(message) click to toggle source
# File lib/simplecheck.rb, line 40
def self.handle_failure(message)
  fail(Simplecheck::CheckFailed, message)
end

Public Instance Methods

check(*arguments, error_message: nil, &block) click to toggle source
# File lib/simplecheck.rb, line 5
def check(*arguments, error_message: nil, &block)
  default_error_message = if block_given?
                            Simplecheck.check_arguments_with_block(arguments, block)
                          else
                            Simplecheck.check_arguments(arguments)
                          end
  
  default_error_message ?  Simplecheck.handle_failure(error_message || default_error_message) : true
end