Class: RailsAutodoc::ResponseInferencer
- Inherits:
-
Object
- Object
- RailsAutodoc::ResponseInferencer
- Includes:
- AstTraversal
- Defined in:
- lib/rails_autodoc/response_inferencer.rb
Defined Under Namespace
Classes: ResponseHint
Constant Summary collapse
- DEFAULT_STATUS =
{ "GET" => "200", "POST" => "201", "PUT" => "200", "PATCH" => "200", "DELETE" => "204" }.freeze
Instance Method Summary collapse
-
#initialize(source_path:, class_name:, serializer_registry: Serializers::Registry.new) ⇒ ResponseInferencer
constructor
A new instance of ResponseInferencer.
- #responses_for_action(action_name, verb: "GET") ⇒ Object
Constructor Details
#initialize(source_path:, class_name:, serializer_registry: Serializers::Registry.new) ⇒ ResponseInferencer
Returns a new instance of ResponseInferencer.
19 20 21 22 23 24 |
# File 'lib/rails_autodoc/response_inferencer.rb', line 19 def initialize(source_path:, class_name:, serializer_registry: Serializers::Registry.new) @source_path = source_path @class_name = class_name @serializer_registry = serializer_registry @buffer, = Parser::CurrentRuby.parse_file(source_path) end |
Instance Method Details
#responses_for_action(action_name, verb: "GET") ⇒ Object
26 27 28 29 30 31 32 33 |
# File 'lib/rails_autodoc/response_inferencer.rb', line 26 def responses_for_action(action_name, verb: "GET") action_node = find_action_node(action_name) hints = action_node ? extract_render_hints(action_node) : [] hints << default_response(verb) if hints.empty? hints end |