lib/Checked/Demand/Vars.rb in Checked-1.2.3 vs lib/Checked/Demand/Vars.rb in Checked-2.0.0
- old
+ new
@@ -1,63 +1,103 @@
-module Checked
+class Checked
class Demand
- class Vars
+ class Vars < Sinatra::Base
- include Uni_Arch::Base
- include Demand::Base
- namespace '/var!'
+ include Checked::Arch
+
+ map '/:type!'
- route
+ get
+ def not_empty!
+ demand !return!.empty?, "...can't be empty."
+ end
+
+ get
+ def be!
+ meth, vals = args_hash['args']
+ answer = return!.send meth, *vals
+ bool! answer
+ demand answer, "...failed #{meth} with #{vals.inspect}"
+ end
+
+ get
+ def not_be!
+ meth, vals = args_hash['args']
+ answer = return!.send(meth, *vals)
+ bool! answer
+ demand !answer, "...#{meth} should not be true with #{vals.inspect}"
+ end
+
+ get
+ def empty!
+ demand return!.empty?, "...must be empty."
+ end
+
+ get
+ def not_empty!
+ demand !return!.empty?, "...can't be empty."
+ end
+
+ map '/var!' # ===============================
+
+ get
+ def check!
+ return!
+ end
+
+ get
def either!
- request.headers.args.flatten.detect { |m|
+ answer = args_hash['args'].flatten.detect { |m|
begin
- target.send m
+ return!.send m
true
rescue Failed
false
end
}
+ demand answer, "...is not any: #{args_hash['args'].inspect}"
end
- route
+ get
def be!
- rejected = request.headers.args.flatten.select { |m|
- !(target.send m)
+ rejected = args_hash['args'].flatten.select { |m|
+ !(return!.send m)
}
- fail!("...must be: #{rejected.map(&:to_s).join(', ')}") unless rejected.empty?
+ demand rejected.empty?, "...must be all of these: #{rejected.map(&:to_s).join(', ')}"
end
- route
+ get
def not_be!
- rejected = request.headers.args.flatten.select { |m|
- !!(target.send m)
+ rejected = args_hash['args'].flatten.select { |m|
+ !!(return!.send m)
}
- fail!("...must not be: #{rejected.map(&:to_s).join(', ')}") unless rejected.empty?
+ demand rejected.empty?, "...must not be: #{rejected.map(&:to_s).join(', ')}"
end
- route
+ get
def one_of!
- klasses = request.headers.args
- return true if klasses.flatten.any? { |k| target.is_a?(k) }
- fail! "...can only be of class/module: #{klasses.map(&:to_s).join(', ')}"
+ klasses = args_hash['args']
+ demand \
+ klasses.flatten.any? { |k| return!.is_a?(k) }, \
+ "...can only be of class/module: #{klasses.map(&:to_s).join(', ')}"
end
- route
+ get
def nil!
- fail!("...must be nil.") unless target.nil?
+ demand return!.nil?, "...must be nil."
end
- route
+ get
def not_nil!
- fail!("...can't be nil.") if target.nil?
+ demand !return!.nil?, "...can't be nil."
end
- route
+ get
def respond_to!
- rejected = request.headers.args.reject { |m|
- !target.respond_to?(m)
+ rejected = args_hash['args'].reject { |m|
+ !return!.respond_to?(m)
}
- fail!("...must respond to #{rejected.inspect}") unless rejected.empty?
+ demand rejected.empty?, "...must respond to #{rejected.inspect}"
end
end # === class Vars
end # === class Demand
end # === module Checked