module GraphqlDevise::Concerns::ControllerMethods
Private Instance Methods
blacklisted_redirect_url?(redirect_url)
click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 58 def blacklisted_redirect_url?(redirect_url) DeviseTokenAuth.redirect_whitelist && !DeviseTokenAuth::Url.whitelisted?(redirect_url) end
check_redirect_url_whitelist!(redirect_url)
click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 10 def check_redirect_url_whitelist!(redirect_url) if blacklisted_redirect_url?(redirect_url) raise_user_error(I18n.t('graphql_devise.redirect_url_not_allowed', redirect_url: redirect_url)) end end
client()
click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 66 def client if Gem::Version.new(DeviseTokenAuth::VERSION) <= Gem::Version.new('1.1.0') controller.client_id else controller.token.client if controller.token.present? end end
client_and_token(token)
click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 81 def client_and_token(token) if Gem::Version.new(DeviseTokenAuth::VERSION) <= Gem::Version.new('1.1.0') { client_id: token.first, token: token.last } else { client_id: token.client, token: token.token } end end
confirmable_enabled?()
click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 54 def confirmable_enabled? resource_class.devise_modules.include?(:confirmable) end
controller()
click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 38 def controller context[:controller] end
current_resource()
click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 62 def current_resource @current_resource ||= controller.send(:set_resource_by_token, resource_class) end
find_resource(field, value)
click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 98 def find_resource(field, value) if resource_class.connection.adapter_name.downcase.include?('mysql') # fix for mysql default case insensitivity resource_class.where("BINARY #{field} = ? AND provider= ?", value, provider).first elsif Gem::Version.new(DeviseTokenAuth::VERSION) < Gem::Version.new('1.1.0') resource_class.find_by(field => value, :provider => provider) else resource_class.dta_find_by(field => value, :provider => provider) end end
get_case_insensitive_field(field, value)
click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 109 def get_case_insensitive_field(field, value) if resource_class.case_insensitive_keys.include?(field) value.downcase else value end end
provider()
click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 117 def provider :email end
raise_user_error(message)
click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 16 def raise_user_error(message) raise GraphqlDevise::UserError, message end
raise_user_error_list(message, errors:)
click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 20 def raise_user_error_list(message, errors:) raise GraphqlDevise::DetailedUserError.new(message, errors: errors) end
recoverable_enabled?()
click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 50 def recoverable_enabled? resource_class.devise_modules.include?(:recoverable) end
redirect_headers(token_info, redirect_header_options)
click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 89 def redirect_headers(token_info, redirect_header_options) controller.send( :build_redirect_headers, token_info.fetch(:token), token_info.fetch(:client_id), redirect_header_options ) end
remove_resource()
click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 24 def remove_resource controller.resource = nil controller.client_id = nil controller.token = nil end
request()
click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 30 def request controller.request end
resource_class()
click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 46 def resource_class self.class.instance_variable_get(:@resource_klass) end
resource_name()
click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 42 def resource_name GraphqlDevise.to_mapping_name(resource_class) end
response()
click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 34 def response controller.response end
set_auth_headers(resource)
click to toggle source
# File lib/graphql_devise/concerns/controller_methods.rb, line 74 def set_auth_headers(resource) auth_headers = resource.create_new_auth_token response.headers.merge!(auth_headers) auth_headers end