class GraphqlRails::Controller::Action

analyzes route and extracts controller action related data

Attributes

route[R]

Public Class Methods

new(route) click to toggle source
# File lib/graphql_rails/controller/action.rb, line 14
def initialize(route)
  @route = route
end

Public Instance Methods

arguments() click to toggle source
# File lib/graphql_rails/controller/action.rb, line 22
def arguments
  action_config.attributes.values
end
controller() click to toggle source
# File lib/graphql_rails/controller/action.rb, line 26
def controller
  @controller ||= "#{namespaced_controller_name}_controller".classify.constantize
end
description() click to toggle source
# File lib/graphql_rails/controller/action.rb, line 34
def description
  action_config.description
end
name() click to toggle source
# File lib/graphql_rails/controller/action.rb, line 30
def name
  @name ||= relative_path.split('#').last
end
return_type() click to toggle source
# File lib/graphql_rails/controller/action.rb, line 18
def return_type
  action_config.return_type
end
type_args() click to toggle source
# File lib/graphql_rails/controller/action.rb, line 38
def type_args
  [type_parser.type_arg]
end
type_options() click to toggle source
# File lib/graphql_rails/controller/action.rb, line 42
def type_options
  { null: !type_parser.required? }
end

Private Instance Methods

action_config() click to toggle source
# File lib/graphql_rails/controller/action.rb, line 52
def action_config
  controller.controller_configuration.action_config(name)
end
controller_name() click to toggle source
# File lib/graphql_rails/controller/action.rb, line 60
def controller_name
  @controller_name ||= relative_path.split('#').first
end
namespaced_controller_name() click to toggle source
# File lib/graphql_rails/controller/action.rb, line 56
def namespaced_controller_name
  [route.module_name, controller_name].reject(&:empty?).join('/')
end
namespaced_model_name() click to toggle source
# File lib/graphql_rails/controller/action.rb, line 64
def namespaced_model_name
  namespaced_controller_name.singularize.classify
end