Class: Checked::Vars

Inherits:
Object show all
Defined in:
lib/Checked/Ask/Vars.rb,
lib/Checked/Demand/Vars.rb

Instance Method Summary collapse

Instance Method Details

#be!(*args) ⇒ Object



20
21
22
23
24
25
# File 'lib/Checked/Demand/Vars.rb', line 20

def be! *args
  rejected = args.flatten.select { |m|
    !(return!.send m)
  }
  demand rejected.empty?, "...must be all of these: #{rejected.map(&:to_s).join(', ')}"
end

#check!Object



4
5
6
# File 'lib/Checked/Demand/Vars.rb', line 4

def check!
  return!
end

#either!(*args) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/Checked/Demand/Vars.rb', line 8

def either! *args
  answer = args.flatten.detect { |m|
    begin
      return!.send m
      true
    rescue Failed
      false
    end
  }
  demand answer, "...is not any: #{args.inspect}"
end

#nil!Object



40
41
42
# File 'lib/Checked/Demand/Vars.rb', line 40

def nil!
  demand return!.nil?, "...must be nil."
end

#not_be!(*args) ⇒ Object



27
28
29
30
31
32
# File 'lib/Checked/Demand/Vars.rb', line 27

def not_be! *args
  rejected = args.flatten.select { |m|
    !!(return!.send m)
  }
  demand rejected.empty?, "...must not be: #{rejected.map(&:to_s).join(', ')}"
end

#not_nil!Object



44
45
46
# File 'lib/Checked/Demand/Vars.rb', line 44

def not_nil!
  demand !return!.nil?, "...can't be nil." 
end

#one_of!(*klasses) ⇒ Object



34
35
36
37
38
# File 'lib/Checked/Demand/Vars.rb', line 34

def one_of! *klasses
  demand \
    klasses.flatten.any? { |k| return!.is_a?(k) }, \
      "...can only be of class/module: #{klasses.map(&:to_s).join(', ')}"
end

#respond_to!(*args) ⇒ Object



48
49
50
51
52
53
# File 'lib/Checked/Demand/Vars.rb', line 48

def respond_to! *args
  rejected = args.reject { |m|
    !return!.respond_to?(m)
  }
  demand rejected.empty?, "...must respond to #{rejected.inspect}"
end

#respond_to_all?(*args) ⇒ Boolean

Returns:

  • (Boolean)


5
6
7
8
9
10
11
# File 'lib/Checked/Ask/Vars.rb', line 5

def respond_to_all? *args
  arr = not_empty!( args.flatten )
  
  arr.all? { |a|
    return!.respond_to? a
  }
end

#respond_to_any?(*args) ⇒ Boolean

Returns:

  • (Boolean)


13
14
15
16
17
18
19
# File 'lib/Checked/Ask/Vars.rb', line 13

def respond_to_any? *args
  arr = not_empty!(args)

  arr.any? { |a|
    return!.respond_to? a
  }
end