Class: Checked::Vars
- Defined in:
- lib/Checked/Ask/Vars.rb,
lib/Checked/Demand/Vars.rb
Instance Method Summary collapse
- #be!(*args) ⇒ Object
- #check! ⇒ Object
- #either!(*args) ⇒ Object
- #nil! ⇒ Object
- #not_be!(*args) ⇒ Object
- #not_nil! ⇒ Object
- #one_of!(*klasses) ⇒ Object
- #respond_to!(*args) ⇒ Object
- #respond_to_all?(*args) ⇒ Boolean
- #respond_to_any?(*args) ⇒ Boolean
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
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
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 |