Module: GraphqlDevise::Concerns::AdditionalControllerMethods
- Extended by:
- ActiveSupport::Concern
- Defined in:
- app/controllers/graphql_devise/concerns/additional_controller_methods.rb
Instance Method Summary collapse
- #authenticate_model(*models) ⇒ Object
- #build_redirect_headers(access_token, client, redirect_header_options = {}) ⇒ Object
- #full_url_without_params ⇒ Object
- #gql_devise_context(*models) ⇒ Object
- #graphql_context(resource_name) ⇒ Object
- #resource_class(resource = nil) ⇒ Object
- #set_resource_by_token(resource) ⇒ Object
Instance Method Details
#authenticate_model(*models) ⇒ Object
19 20 21 22 23 24 25 26 |
# File 'app/controllers/graphql_devise/concerns/additional_controller_methods.rb', line 19 def authenticate_model(*models) models.each do |model| set_resource_by_token(model) return @resource if @resource.present? end nil end |
#build_redirect_headers(access_token, client, redirect_header_options = {}) ⇒ Object
61 62 63 64 65 66 67 68 69 |
# File 'app/controllers/graphql_devise/concerns/additional_controller_methods.rb', line 61 def build_redirect_headers(access_token, client, = {}) { DeviseTokenAuth.headers_names[:"access-token"] => access_token, DeviseTokenAuth.headers_names[:client] => client, :config => params[:config], :client_id => client, :token => access_token }.merge() end |
#full_url_without_params ⇒ Object
35 36 37 |
# File 'app/controllers/graphql_devise/concerns/additional_controller_methods.rb', line 35 def full_url_without_params request.base_url + request.path end |
#gql_devise_context(*models) ⇒ Object
12 13 14 15 16 17 |
# File 'app/controllers/graphql_devise/concerns/additional_controller_methods.rb', line 12 def gql_devise_context(*models) { current_resource: authenticate_model(*models), controller: self } end |
#graphql_context(resource_name) ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'app/controllers/graphql_devise/concerns/additional_controller_methods.rb', line 43 def graphql_context(resource_name) ActiveSupport::Deprecation.warn(<<-DEPRECATION.strip_heredoc, caller) `graphql_context` is deprecated and will be removed in a future version of this gem. Use `gql_devise_context(model)` instead. EXAMPLE include GraphqlDevise::SetUserByToken DummySchema.execute(params[:query], context: gql_devise_context(User)) DummySchema.execute(params[:query], context: gql_devise_context(User, Admin)) DEPRECATION { resource_name: resource_name, controller: self } end |
#resource_class(resource = nil) ⇒ Object
28 29 30 31 32 33 |
# File 'app/controllers/graphql_devise/concerns/additional_controller_methods.rb', line 28 def resource_class(resource = nil) # Return the resource class instead of looking for a Devise mapping if resource is already a resource class return resource if resource.respond_to?(:find_by) super end |
#set_resource_by_token(resource) ⇒ Object
39 40 41 |
# File 'app/controllers/graphql_devise/concerns/additional_controller_methods.rb', line 39 def set_resource_by_token(resource) set_user_by_token(resource) end |