Module: Simplecheck

Defined in:
lib/simplecheck.rb,
lib/simplecheck/version.rb,
lib/simplecheck/check_failed.rb

Defined Under Namespace

Classes: CheckFailed

Constant Summary collapse

VERSION =
'1.0'

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.check_arguments(arguments) ⇒ Object



15
16
17
18
19
20
21
22
# File 'lib/simplecheck.rb', line 15

def Simplecheck.check_arguments( arguments )
  case arguments.size
  when 1
    Simplecheck.check_expression( arguments[ 0 ])
  else
    Simplecheck.check_case_equality( *arguments )
  end
end

.check_arguments_with_block(arguments, block) ⇒ Object



24
25
26
# File 'lib/simplecheck.rb', line 24

def Simplecheck.check_arguments_with_block( arguments, block )
  Simplecheck.check_arguments(( arguments + [ block ]))
end

.check_case_equality(*arguments, check_argument) ⇒ Object



34
35
36
37
38
# File 'lib/simplecheck.rb', line 34

def Simplecheck.check_case_equality( *arguments, check_argument )
  if invalid_argument = arguments.find{ |argument| !( check_argument === argument )}
    "#{ invalid_argument } does not satisfy #{ check_argument }" 
  end
end

.check_expression(expression) ⇒ Object



28
29
30
31
32
# File 'lib/simplecheck.rb', line 28

def Simplecheck.check_expression( expression )
  if !expression
    'Condition is not satisfied' 
  end
end

.handle_failure(message) ⇒ Object



40
41
42
# File 'lib/simplecheck.rb', line 40

def Simplecheck.handle_failure( message )
  raise Simplecheck::CheckFailed.new( message )
end

Instance Method Details

#check(*arguments, &block) ⇒ Object



5
6
7
8
9
10
11
12
13
# File 'lib/simplecheck.rb', line 5

def check( *arguments, &block )
  error_message = if block_given?
                    Simplecheck.check_arguments_with_block( arguments, block )
                  else
                    Simplecheck.check_arguments( arguments )
                  end

  error_message ?  Simplecheck.handle_failure( error_message ) : true
end