Class: RailsDevtools::Routes::ControllerInfo

Inherits:
Object
  • Object
show all
Defined in:
app/models/rails_devtools/routes/controller_info.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(controller_name: nil, action: nil) ⇒ ControllerInfo

Returns a new instance of ControllerInfo.



6
7
8
9
# File 'app/models/rails_devtools/routes/controller_info.rb', line 6

def initialize(controller_name: nil, action: nil)
  @controller_name = controller_name
  @action = action
end

Instance Attribute Details

#actionObject (readonly)

Returns the value of attribute action.



4
5
6
# File 'app/models/rails_devtools/routes/controller_info.rb', line 4

def action
  @action
end

Instance Method Details

#action_exists?Boolean

Returns:

  • (Boolean)


23
24
25
26
27
# File 'app/models/rails_devtools/routes/controller_info.rb', line 23

def action_exists?
  return false unless controller

  controller.action_methods.include?(@action)
end

#controllerObject



19
20
21
# File 'app/models/rails_devtools/routes/controller_info.rb', line 19

def controller
  @controller ||= full_class_name.safe_constantize
end

#file_pathObject



11
12
13
# File 'app/models/rails_devtools/routes/controller_info.rb', line 11

def file_path
  full_class_name.underscore + ".rb"
end

#full_class_nameObject



15
16
17
# File 'app/models/rails_devtools/routes/controller_info.rb', line 15

def full_class_name
  @full_class_name ||= [@controller_name, "controller"].join("_").camelize
end