Module: MetaBool

Defined in:
lib/metabool.rb,
lib/metabool/main.rb

Overview

This module contains helpers for evaluating logical expressions.

Constant Summary collapse

VERSION_CODE =

:stopdoc:

'000005'.freeze
VERSION =
VERSION_CODE.scan(/../).collect{|n| n.to_i}.join('.').freeze

Instance Method Summary collapse

Instance Method Details

#class_exists?(name) ⇒ Boolean

Returns:

  • (Boolean)


73
74
75
76
77
78
79
# File 'lib/metabool/main.rb', line 73

def class_exists?(name)
  begin
    true if name.to_class
  rescue NameError
    false
  end
end

#do_have?(variable = self) ⇒ Boolean

Returns:

  • (Boolean)


54
# File 'lib/metabool/main.rb', line 54

def do_have?(variable=self);     have? variable       end

#do_not_have?(variable = self) ⇒ Boolean

Returns:

  • (Boolean)


58
# File 'lib/metabool/main.rb', line 58

def do_not_have?(variable=self); have_not? variable   end

#dont_have?(variable = self) ⇒ Boolean

Returns:

  • (Boolean)


57
# File 'lib/metabool/main.rb', line 57

def dont_have?(variable=self);   have_not? variable   end

#have?(variable = self) ⇒ Boolean

Returns:

  • (Boolean)


51
# File 'lib/metabool/main.rb', line 51

def have?(variable=self);       is_full? variable     end

#have_no?(variable = self) ⇒ Boolean

Returns:

  • (Boolean)


55
# File 'lib/metabool/main.rb', line 55

def have_no?(variable=self);     have_not? variable   end

#have_not?(variable = self) ⇒ Boolean

Returns:

  • (Boolean)


52
# File 'lib/metabool/main.rb', line 52

def have_not?(variable=self);   is_empty? variable    end

#havent?(variable = self) ⇒ Boolean

Returns:

  • (Boolean)


56
# File 'lib/metabool/main.rb', line 56

def havent?(variable=self);      have_not? variable   end

#if_have(variable = self, message = nil) ⇒ Object



81
82
83
84
85
86
87
88
# File 'lib/metabool/main.rb', line 81

def if_have(variable=self, message=nil)
  message = variable if message.nil?
  if have?(variable)
    return block_given? ? yield(variable) : message
  else
    return false
  end
end

#if_is(variable = self, message = nil) ⇒ Object



90
91
92
93
94
95
96
97
# File 'lib/metabool/main.rb', line 90

def if_is(variable=self, message=nil)
  message = variable if message.nil?
  if is_it?(variable)
    return block_given? ? yield(variable) : message
  else
    return false
  end
end

#if_it_is(variable = self, message = nil) ⇒ Object



99
100
101
# File 'lib/metabool/main.rb', line 99

def if_it_is(variable=self, message=nil)
  return if_is(variable, message)
end

#is_empty?(variable = self) ⇒ Boolean

Returns:

  • (Boolean)


12
13
14
15
16
17
18
19
20
21
22
# File 'lib/metabool/main.rb', line 12

def is_empty?(variable=self)
  if variable.respond_to?(:empty?) && variable.respond_to?(:strip)
    variable.empty? or variable.strip.empty?
  elsif variable.respond_to? :empty?
    variable.empty?
  elsif variable.respond_to? :zero?
    variable.zero?
  else
    !variable ? true : false
  end
end

#is_false?(variable = self) ⇒ Boolean

Returns:

  • (Boolean)


48
# File 'lib/metabool/main.rb', line 48

def is_false?(variable=self);   !is_true? variable    end

#is_full?(variable = self) ⇒ Boolean

Returns:

  • (Boolean)


31
# File 'lib/metabool/main.rb', line 31

def is_full?(variable=self);   not is_empty?(variable) end

#is_it?(variable = self) ⇒ Boolean

Returns:

  • (Boolean)


60
# File 'lib/metabool/main.rb', line 60

def is_it?(variable=self);       is_full?  variable   end

#is_it_not?(variable = self) ⇒ Boolean

Returns:

  • (Boolean)


61
# File 'lib/metabool/main.rb', line 61

def is_it_not?(variable=self);   is_false? variable   end

#is_negative?(variable = self) ⇒ Boolean

Returns:

  • (Boolean)


42
43
44
45
46
# File 'lib/metabool/main.rb', line 42

def is_negative?(variable=self)
    r = false
    r = variable < 0    if variable.kind_of?  Numeric
    return r
end

#is_positive?(variable = self) ⇒ Boolean

Returns:

  • (Boolean)


33
34
35
36
37
38
39
40
# File 'lib/metabool/main.rb', line 33

def is_positive?(variable=self)
    r = true
    variable = variable.length if variable.kind_of String
    r = variable > 0    if variable.kind_of?  Numeric
    r = false           if variable.kind_of?  NilClass
    r = false           if variable.kind_of?  FalseClass
    return r
end

#is_true?(variable = self) ⇒ Boolean

Returns:

  • (Boolean)


24
25
26
27
28
29
# File 'lib/metabool/main.rb', line 24

def is_true?(variable=self)
    r = true
    r = false           if variable.kind_of?  NilClass
    r = false           if variable.kind_of?  FalseClass  
    return r
end

#isnt?(variable = self) ⇒ Boolean

Returns:

  • (Boolean)


62
# File 'lib/metabool/main.rb', line 62

def isnt?(variable=self);        is_false? variable   end

#to_b(variable = self) ⇒ Object



49
# File 'lib/metabool/main.rb', line 49

def to_b(variable=self);        is_full?  variable    end

#to_class(klass_name = self) ⇒ Object



64
65
66
67
68
69
70
71
# File 'lib/metabool/main.rb', line 64

def to_class(klass_name=self)
  parts = klass_name.to_s.split(/::/)
  klass = Kernel
  parts.each do |part|
    klass = klass.const_get(part)
  end
  return klass
end