Commit a087f14

mo <mo@mokhan.ca>
2018-10-20 18:45:49
fix some linter errors
1 parent ab0b8c7
Changed files (3)
app/controllers/clients_controller.rb
@@ -9,7 +9,7 @@ class ClientsController < ApplicationController
     render status: :created, formats: :json
   rescue ActiveRecord::RecordInvalid => error
     json = {
-      error: error.record.errors[:redirect_uris].present? ? :invalid_redirect_uri : :invalid_client_metadata,
+      error: error_type_for(error.record.errors),
       error_description: error.record.errors.full_messages.join(' ')
     }
     render json: json, status: :bad_request
@@ -18,7 +18,13 @@ class ClientsController < ApplicationController
   private
 
   def secure_params
-    params.permit(:client_name, :token_endpoint_auth_method, :logo_uri, :jwks_uri, redirect_uris: [])
+    params.permit(
+      :client_name,
+      :token_endpoint_auth_method,
+      :logo_uri,
+      :jwks_uri,
+      redirect_uris: []
+    )
   end
 
   def transform(params)
@@ -35,4 +41,8 @@ class ClientsController < ApplicationController
     response.headers["Cache-Control"] = "no-cache, no-store"
     response.headers["Pragma"] = "no-cache"
   end
+
+  def error_type_for(errors)
+    errors[:redirect_uris] ? :invalid_redirect_uri : :invalid_client_metadata
+  end
 end
app/models/scim/user.rb
@@ -6,7 +6,7 @@ module SCIM
     attr_accessor :id, :schemas, :userName, :name, :locale, :timezone, :password
 
     validate :must_be_user_schema
-    validates :id, format: { with: ApplicationRecord::UUID }, if: proc { |x| x.id.present? }
+    validates :id, format: { with: ApplicationRecord::UUID }, allow_blank: true
     validates :locale, presence: true, inclusion: ::User::VALID_LOCALES
     validates :timezone, presence: true, inclusion: ::User::VALID_TIMEZONES
     validates :userName, presence: true, email: true
app/models/client.rb
@@ -6,7 +6,11 @@ class Client < ApplicationRecord
   has_secure_password
   has_many :authorizations
   attribute :redirect_uris, :string, array: true
-  enum token_endpoint_auth_method: { client_secret_none: 0, client_secret_post: 1, client_secret_basic: 2 }
+  enum token_endpoint_auth_method: {
+    client_secret_none: 0,
+    client_secret_post: 1,
+    client_secret_basic: 2
+  }
 
   validates :redirect_uris, presence: true
   validates :jwks_uri, format: { with: URI_REGEX }, allow_blank: true
@@ -22,7 +26,13 @@ class Client < ApplicationRecord
   end
 
   def grant_types
-    [:authorization_code, :refresh_token, :client_credentials, :password, 'urn:ietf:params:oauth:grant-type:saml2-bearer']
+    [
+      :authorization_code,
+      :refresh_token,
+      :client_credentials,
+      :password,
+      'urn:ietf:params:oauth:grant-type:saml2-bearer'
+    ]
   end
 
   def access_token