Class: RailsOpenapiGen::Parsers::Jbuilder::OperationCommentParser

Inherits:
Object
  • Object
show all
Defined in:
lib/rails-openapi-gen/parsers/jbuilder/operation_comment_parser.rb

Instance Method Summary collapse

Constructor Details

#initialize(comments) ⇒ OperationCommentParser

Initializes operation comment parser

Parameters:

  • comments (Array)

    Array of comment objects



9
10
11
12
# File 'lib/rails-openapi-gen/parsers/jbuilder/operation_comment_parser.rb', line 9

def initialize(comments)
  @comments = comments
  @comment_parser = RailsOpenapiGen::Parsers::CommentParser.new
end

Instance Method Details

#parse_operation_infoHash?

Parses operation comments to extract operation information

Returns:

  • (Hash, nil)

    Operation information or nil if not found



16
17
18
19
20
21
22
23
24
# File 'lib/rails-openapi-gen/parsers/jbuilder/operation_comment_parser.rb', line 16

def parse_operation_info
  @comments.each do |comment|
    parsed = @comment_parser.parse(comment.text)
    if parsed&.dig(:operation)
      return parsed[:operation]
    end
  end
  nil
end