Class: RailsAutodoc::RouteOperation

Inherits:
Object
  • Object
show all
Defined in:
lib/rails_autodoc/route_inspector.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(verb:, path:, controller_class:, action:, route_name:, path_params:, tags:, constraints: {}) ⇒ RouteOperation

Returns a new instance of RouteOperation.



14
15
16
17
18
19
20
21
22
23
# File 'lib/rails_autodoc/route_inspector.rb', line 14

def initialize(verb:, path:, controller_class:, action:, route_name:, path_params:, tags:, constraints: {})
  @verb = verb
  @path = path
  @controller_class = controller_class
  @action = action.to_s
  @route_name = route_name
  @path_params = path_params
  @tags = tags
  @constraints = constraints
end

Instance Attribute Details

#actionObject (readonly)

Returns the value of attribute action.



5
6
7
# File 'lib/rails_autodoc/route_inspector.rb', line 5

def action
  @action
end

#constraintsObject (readonly)

Returns the value of attribute constraints.



5
6
7
# File 'lib/rails_autodoc/route_inspector.rb', line 5

def constraints
  @constraints
end

#controller_classObject (readonly)

Returns the value of attribute controller_class.



5
6
7
# File 'lib/rails_autodoc/route_inspector.rb', line 5

def controller_class
  @controller_class
end

#pathObject (readonly)

Returns the value of attribute path.



5
6
7
# File 'lib/rails_autodoc/route_inspector.rb', line 5

def path
  @path
end

#path_paramsObject (readonly)

Returns the value of attribute path_params.



5
6
7
# File 'lib/rails_autodoc/route_inspector.rb', line 5

def path_params
  @path_params
end

#route_nameObject (readonly)

Returns the value of attribute route_name.



5
6
7
# File 'lib/rails_autodoc/route_inspector.rb', line 5

def route_name
  @route_name
end

#tagsObject (readonly)

Returns the value of attribute tags.



5
6
7
# File 'lib/rails_autodoc/route_inspector.rb', line 5

def tags
  @tags
end

#verbObject (readonly)

Returns the value of attribute verb.



5
6
7
# File 'lib/rails_autodoc/route_inspector.rb', line 5

def verb
  @verb
end

Instance Method Details

#openapi_pathObject



29
30
31
# File 'lib/rails_autodoc/route_inspector.rb', line 29

def openapi_path
  path.gsub(/:([a-zA-Z_][a-zA-Z0-9_]*)/, '{\1}')
end

#operation_idObject



25
26
27
# File 'lib/rails_autodoc/route_inspector.rb', line 25

def operation_id
  "#{controller_class.name.underscore.tr('/', '_')}_#{action}"
end