Merge branch 'master' into 4233-graph-job-stats
[arvados.git] / services / api / app / controllers / application_controller.rb
index 27c4bc852f5b7c00de36da38097cc917b8714005..459adff3a0e5a3b8ece84368eafa29d99154f0d1 100644 (file)
@@ -451,18 +451,18 @@ class ApplicationController < ActionController::Base
     (self.class.send "_#{params[:action]}_requires_parameters" rescue {}).
       each do |key, info|
       if info[:required] and not params.include?(key)
-        raise ArgumentError("#{key} parameter is required")
+        raise ArgumentError.new("#{key} parameter is required")
       elsif info[:type] == 'boolean'
         # Make sure params[key] is either true or false -- not a
         # string, not nil, etc.
         if not params.include?(key)
           params[key] = info[:default]
-        elsif [false, 'false'].include? params[key]
+        elsif [false, 'false', '0', 0].include? params[key]
           params[key] = false
-        elsif [true, 'true'].include? params[key]
+        elsif [true, 'true', '1', 1].include? params[key]
           params[key] = true
         else
-          raise TypeError("#{key} parameter must be a boolean, true or false")
+          raise TypeError.new("#{key} parameter must be a boolean, true or false")
         end
       end
     end
@@ -475,6 +475,7 @@ class ApplicationController < ActionController::Base
         type: "boolean",
         description: "Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.",
         location: "query",
+        required: false,
         default: false
       }
     }