class Devise::JWT::DefaultsGenerator
Generate defaults to be used in the configuration for the Devise
installation in a Rails app
@see Warden::JWTAuth
Attributes
defaults[R]
devise_mappings[R]
Public Class Methods
call()
click to toggle source
# File lib/devise/jwt/defaults_generator.rb, line 12 def self.call new.call end
new()
click to toggle source
# File lib/devise/jwt/defaults_generator.rb, line 16 def initialize @devise_mappings = Devise.mappings @defaults = { mappings: {}, revocation_strategies: {}, dispatch_requests: [], revocation_requests: [] } end
Public Instance Methods
call()
click to toggle source
# File lib/devise/jwt/defaults_generator.rb, line 26 def call devise_mappings.each_key do |scope| inspector = MappingInspector.new(scope) next unless inspector.jwt? add_defaults(inspector) end defaults end
Private Instance Methods
add_defaults(inspector)
click to toggle source
# File lib/devise/jwt/defaults_generator.rb, line 38 def add_defaults(inspector) add_mapping(inspector) add_revocation_strategy(inspector) add_dispatch_requests(inspector) add_revocation_requests(inspector) end
add_dispatch_requests(inspector)
click to toggle source
# File lib/devise/jwt/defaults_generator.rb, line 57 def add_dispatch_requests(inspector) add_sign_in_request(inspector) add_registration_request(inspector) end
add_mapping(inspector)
click to toggle source
# File lib/devise/jwt/defaults_generator.rb, line 45 def add_mapping(inspector) scope = inspector.scope model = inspector.model defaults[:mappings][scope] = model.name end
add_registration_request(inspector)
click to toggle source
# File lib/devise/jwt/defaults_generator.rb, line 68 def add_registration_request(inspector) return unless inspector.registration? defaults[:dispatch_requests].push(*registration_requests(inspector)) end
add_revocation_requests(inspector)
click to toggle source
# File lib/devise/jwt/defaults_generator.rb, line 74 def add_revocation_requests(inspector) return unless inspector.session? defaults[:revocation_requests].push(*sign_out_requests(inspector)) end
add_revocation_strategy(inspector)
click to toggle source
# File lib/devise/jwt/defaults_generator.rb, line 51 def add_revocation_strategy(inspector) scope = inspector.scope strategy = inspector.model.jwt_revocation_strategy defaults[:revocation_strategies][scope] = strategy.name end
add_sign_in_request(inspector)
click to toggle source
# File lib/devise/jwt/defaults_generator.rb, line 62 def add_sign_in_request(inspector) return unless inspector.session? defaults[:dispatch_requests].push(*sign_in_requests(inspector)) end
registration_requests(inspector)
click to toggle source
# File lib/devise/jwt/defaults_generator.rb, line 88 def registration_requests(inspector) requests(inspector, :registration) end
requests(inspector, name)
click to toggle source
# File lib/devise/jwt/defaults_generator.rb, line 92 def requests(inspector, name) path = inspector.path(name) methods = inspector.methods(name) inspector.formats.each_with_object([]) do |format, requests| requests.push(*requests_for_format(path, methods, format)) end end
requests_for_format(path, methods, format)
click to toggle source
# File lib/devise/jwt/defaults_generator.rb, line 100 def requests_for_format(path, methods, format) path_regexp = format ? /^#{path}.#{format}$/ : /^#{path}$/ methods.map do |method| [method, path_regexp] end end
sign_in_requests(inspector)
click to toggle source
# File lib/devise/jwt/defaults_generator.rb, line 80 def sign_in_requests(inspector) requests(inspector, :sign_in) end
sign_out_requests(inspector)
click to toggle source
# File lib/devise/jwt/defaults_generator.rb, line 84 def sign_out_requests(inspector) requests(inspector, :sign_out) end