Module: Yard::Lint

Defined in:
lib/yard/lint.rb,
lib/yard/lint/git.rb,
lib/yard/lint/config.rb,
lib/yard/lint/errors.rb,
lib/yard/lint/runner.rb,
lib/yard/lint/version.rb,
lib/yard/lint/parsers/base.rb,
lib/yard/lint/path_grouper.rb,
lib/yard/lint/results/base.rb,
lib/yard/lint/config_loader.rb,
lib/yard/lint/config_updater.rb,
lib/yard/lint/result_builder.rb,
lib/yard/lint/todo_generator.rb,
lib/yard/lint/validators/base.rb,
lib/yard/lint/config_generator.rb,
lib/yard/lint/config_validator.rb,
lib/yard/lint/stats_calculator.rb,
lib/yard/lint/results/aggregate.rb,
lib/yard/lint/validators/config.rb,
lib/yard/lint/formatters/progress.rb,
lib/yard/lint/parsers/one_line_base.rb,
lib/yard/lint/parsers/two_line_base.rb,
lib/yard/lint/validators/tags/order.rb,
lib/yard/lint/executor/query_executor.rb,
lib/yard/lint/validators/tags/api_tags.rb,
lib/yard/lint/executor/result_collector.rb,
lib/yard/lint/executor/warning_dispatcher.rb,
lib/yard/lint/validators/tags/option_tags.rb,
lib/yard/lint/validators/tags/type_syntax.rb,
lib/yard/lint/executor/in_process_registry.rb,
lib/yard/lint/validators/tags/order/config.rb,
lib/yard/lint/validators/tags/order/parser.rb,
lib/yard/lint/validators/tags/order/result.rb,
lib/yard/lint/validators/tags/example_style.rb,
lib/yard/lint/validators/tags/invalid_types.rb,
lib/yard/lint/validators/tags/example_syntax.rb,
lib/yard/lint/validators/tags/forbidden_tags.rb,
lib/yard/lint/validators/tags/non_ascii_type.rb,
lib/yard/lint/validators/tags/api_tags/config.rb,
lib/yard/lint/validators/tags/api_tags/parser.rb,
lib/yard/lint/validators/tags/api_tags/result.rb,
lib/yard/lint/validators/tags/collection_type.rb,
lib/yard/lint/validators/tags/meaningless_tag.rb,
lib/yard/lint/validators/tags/order/validator.rb,
lib/yard/lint/validators/warnings/unknown_tag.rb,
lib/yard/lint/validators/tags/informal_notation.rb,
lib/yard/lint/validators/tags/tag_type_position.rb,
lib/yard/lint/validators/tags/api_tags/validator.rb,
lib/yard/lint/validators/tags/option_tags/config.rb,
lib/yard/lint/validators/tags/option_tags/parser.rb,
lib/yard/lint/validators/tags/option_tags/result.rb,
lib/yard/lint/validators/tags/type_syntax/config.rb,
lib/yard/lint/validators/tags/type_syntax/parser.rb,
lib/yard/lint/validators/tags/type_syntax/result.rb,
lib/yard/lint/validators/tags/tag_group_separator.rb,
lib/yard/lint/validators/semantic/abstract_methods.rb,
lib/yard/lint/validators/tags/example_style/config.rb,
lib/yard/lint/validators/tags/example_style/parser.rb,
lib/yard/lint/validators/tags/example_style/result.rb,
lib/yard/lint/validators/tags/invalid_types/config.rb,
lib/yard/lint/validators/tags/invalid_types/parser.rb,
lib/yard/lint/validators/tags/invalid_types/result.rb,
lib/yard/lint/validators/tags/example_syntax/config.rb,
lib/yard/lint/validators/tags/example_syntax/parser.rb,
lib/yard/lint/validators/tags/example_syntax/result.rb,
lib/yard/lint/validators/tags/forbidden_tags/config.rb,
lib/yard/lint/validators/tags/forbidden_tags/parser.rb,
lib/yard/lint/validators/tags/forbidden_tags/result.rb,
lib/yard/lint/validators/tags/non_ascii_type/config.rb,
lib/yard/lint/validators/tags/non_ascii_type/parser.rb,
lib/yard/lint/validators/tags/non_ascii_type/result.rb,
lib/yard/lint/validators/tags/option_tags/validator.rb,
lib/yard/lint/validators/tags/type_syntax/validator.rb,
lib/yard/lint/validators/warnings/unknown_directive.rb,
lib/yard/lint/validators/tags/collection_type/config.rb,
lib/yard/lint/validators/tags/collection_type/parser.rb,
lib/yard/lint/validators/tags/collection_type/result.rb,
lib/yard/lint/validators/tags/meaningless_tag/config.rb,
lib/yard/lint/validators/tags/meaningless_tag/parser.rb,
lib/yard/lint/validators/tags/meaningless_tag/result.rb,
lib/yard/lint/validators/tags/order/messages_builder.rb,
lib/yard/lint/validators/warnings/invalid_tag_format.rb,
lib/yard/lint/validators/warnings/unknown_tag/config.rb,
lib/yard/lint/validators/warnings/unknown_tag/parser.rb,
lib/yard/lint/validators/warnings/unknown_tag/result.rb,
lib/yard/lint/validators/documentation/missing_return.rb,
lib/yard/lint/validators/tags/example_style/validator.rb,
lib/yard/lint/validators/tags/invalid_types/validator.rb,
lib/yard/lint/validators/documentation/markdown_syntax.rb,
lib/yard/lint/validators/tags/example_syntax/validator.rb,
lib/yard/lint/validators/tags/forbidden_tags/validator.rb,
lib/yard/lint/validators/tags/informal_notation/config.rb,
lib/yard/lint/validators/tags/informal_notation/parser.rb,
lib/yard/lint/validators/tags/informal_notation/result.rb,
lib/yard/lint/validators/tags/non_ascii_type/validator.rb,
lib/yard/lint/validators/tags/tag_type_position/config.rb,
lib/yard/lint/validators/tags/tag_type_position/parser.rb,
lib/yard/lint/validators/tags/tag_type_position/result.rb,
lib/yard/lint/validators/tags/api_tags/messages_builder.rb,
lib/yard/lint/validators/tags/collection_type/validator.rb,
lib/yard/lint/validators/tags/meaningless_tag/validator.rb,
lib/yard/lint/validators/warnings/unknown_tag/validator.rb,
lib/yard/lint/validators/tags/tag_group_separator/config.rb,
lib/yard/lint/validators/tags/tag_group_separator/parser.rb,
lib/yard/lint/validators/tags/tag_group_separator/result.rb,
lib/yard/lint/validators/warnings/unknown_parameter_name.rb,
lib/yard/lint/validators/documentation/empty_comment_line.rb,
lib/yard/lint/validators/semantic/abstract_methods/config.rb,
lib/yard/lint/validators/semantic/abstract_methods/parser.rb,
lib/yard/lint/validators/semantic/abstract_methods/result.rb,
lib/yard/lint/validators/tags/informal_notation/validator.rb,
lib/yard/lint/validators/tags/redundant_param_description.rb,
lib/yard/lint/validators/tags/tag_type_position/validator.rb,
lib/yard/lint/validators/tags/example_style/rubocop_runner.rb,
lib/yard/lint/validators/tags/option_tags/messages_builder.rb,
lib/yard/lint/validators/tags/type_syntax/messages_builder.rb,
lib/yard/lint/validators/warnings/invalid_directive_format.rb,
lib/yard/lint/validators/warnings/unknown_directive/config.rb,
lib/yard/lint/validators/warnings/unknown_directive/parser.rb,
lib/yard/lint/validators/warnings/unknown_directive/result.rb,
lib/yard/lint/validators/documentation/undocumented_objects.rb,
lib/yard/lint/validators/documentation/undocumented_options.rb,
lib/yard/lint/validators/tags/example_style/linter_detector.rb,
lib/yard/lint/validators/tags/tag_group_separator/validator.rb,
lib/yard/lint/validators/warnings/duplicated_parameter_name.rb,
lib/yard/lint/validators/warnings/invalid_tag_format/config.rb,
lib/yard/lint/validators/warnings/invalid_tag_format/parser.rb,
lib/yard/lint/validators/warnings/invalid_tag_format/result.rb,
lib/yard/lint/validators/documentation/missing_return/config.rb,
lib/yard/lint/validators/documentation/missing_return/parser.rb,
lib/yard/lint/validators/documentation/missing_return/result.rb,
lib/yard/lint/validators/semantic/abstract_methods/validator.rb,
lib/yard/lint/validators/tags/example_style/messages_builder.rb,
lib/yard/lint/validators/tags/invalid_types/messages_builder.rb,
lib/yard/lint/validators/documentation/markdown_syntax/config.rb,
lib/yard/lint/validators/documentation/markdown_syntax/parser.rb,
lib/yard/lint/validators/documentation/markdown_syntax/result.rb,
lib/yard/lint/validators/tags/example_syntax/messages_builder.rb,
lib/yard/lint/validators/tags/forbidden_tags/messages_builder.rb,
lib/yard/lint/validators/tags/non_ascii_type/messages_builder.rb,
lib/yard/lint/validators/warnings/unknown_directive/validator.rb,
lib/yard/lint/validators/tags/collection_type/messages_builder.rb,
lib/yard/lint/validators/tags/meaningless_tag/messages_builder.rb,
lib/yard/lint/validators/warnings/invalid_tag_format/validator.rb,
lib/yard/lint/validators/warnings/unknown_tag/messages_builder.rb,
lib/yard/lint/validators/documentation/missing_return/validator.rb,
lib/yard/lint/validators/warnings/unknown_parameter_name/config.rb,
lib/yard/lint/validators/warnings/unknown_parameter_name/parser.rb,
lib/yard/lint/validators/warnings/unknown_parameter_name/result.rb,
lib/yard/lint/validators/documentation/empty_comment_line/config.rb,
lib/yard/lint/validators/documentation/empty_comment_line/parser.rb,
lib/yard/lint/validators/documentation/empty_comment_line/result.rb,
lib/yard/lint/validators/documentation/markdown_syntax/validator.rb,
lib/yard/lint/validators/tags/informal_notation/messages_builder.rb,
lib/yard/lint/validators/tags/redundant_param_description/config.rb,
lib/yard/lint/validators/tags/redundant_param_description/parser.rb,
lib/yard/lint/validators/tags/redundant_param_description/result.rb,
lib/yard/lint/validators/tags/tag_type_position/messages_builder.rb,
lib/yard/lint/validators/warnings/invalid_directive_format/config.rb,
lib/yard/lint/validators/warnings/invalid_directive_format/parser.rb,
lib/yard/lint/validators/warnings/invalid_directive_format/result.rb,
lib/yard/lint/validators/documentation/undocumented_objects/config.rb,
lib/yard/lint/validators/documentation/undocumented_objects/parser.rb,
lib/yard/lint/validators/documentation/undocumented_objects/result.rb,
lib/yard/lint/validators/documentation/undocumented_options/config.rb,
lib/yard/lint/validators/documentation/undocumented_options/parser.rb,
lib/yard/lint/validators/documentation/undocumented_options/result.rb,
lib/yard/lint/validators/tags/tag_group_separator/messages_builder.rb,
lib/yard/lint/validators/warnings/duplicated_parameter_name/config.rb,
lib/yard/lint/validators/warnings/duplicated_parameter_name/parser.rb,
lib/yard/lint/validators/warnings/duplicated_parameter_name/result.rb,
lib/yard/lint/validators/warnings/unknown_parameter_name/validator.rb,
lib/yard/lint/validators/documentation/blank_line_before_definition.rb,
lib/yard/lint/validators/documentation/empty_comment_line/validator.rb,
lib/yard/lint/validators/documentation/undocumented_boolean_methods.rb,
lib/yard/lint/validators/semantic/abstract_methods/messages_builder.rb,
lib/yard/lint/validators/tags/redundant_param_description/validator.rb,
lib/yard/lint/validators/documentation/undocumented_method_arguments.rb,
lib/yard/lint/validators/warnings/invalid_directive_format/validator.rb,
lib/yard/lint/validators/documentation/undocumented_objects/validator.rb,
lib/yard/lint/validators/documentation/undocumented_options/validator.rb,
lib/yard/lint/validators/warnings/duplicated_parameter_name/validator.rb,
lib/yard/lint/validators/documentation/missing_return/messages_builder.rb,
lib/yard/lint/validators/documentation/markdown_syntax/messages_builder.rb,
lib/yard/lint/validators/warnings/unknown_parameter_name/messages_builder.rb,
lib/yard/lint/validators/documentation/blank_line_before_definition/config.rb,
lib/yard/lint/validators/documentation/blank_line_before_definition/parser.rb,
lib/yard/lint/validators/documentation/blank_line_before_definition/result.rb,
lib/yard/lint/validators/documentation/empty_comment_line/messages_builder.rb,
lib/yard/lint/validators/documentation/undocumented_boolean_methods/config.rb,
lib/yard/lint/validators/documentation/undocumented_boolean_methods/parser.rb,
lib/yard/lint/validators/documentation/undocumented_boolean_methods/result.rb,
lib/yard/lint/validators/tags/redundant_param_description/messages_builder.rb,
lib/yard/lint/validators/documentation/undocumented_method_arguments/config.rb,
lib/yard/lint/validators/documentation/undocumented_method_arguments/parser.rb,
lib/yard/lint/validators/documentation/undocumented_method_arguments/result.rb,
lib/yard/lint/validators/documentation/undocumented_objects/messages_builder.rb,
lib/yard/lint/validators/documentation/blank_line_before_definition/validator.rb,
lib/yard/lint/validators/documentation/undocumented_boolean_methods/validator.rb,
lib/yard/lint/validators/documentation/undocumented_method_arguments/validator.rb,
lib/yard/lint/validators/documentation/blank_line_before_definition/messages_builder.rb,
lib/yard/lint/validators/documentation/undocumented_method_arguments/messages_builder.rb

Overview

YARD Lint module providing linting functionality for YARD documentation

Defined Under Namespace

Modules: Errors, Executor, Formatters, Git, Parsers, Results, Validators Classes: Config, ConfigGenerator, ConfigLoader, ConfigUpdater, ConfigValidator, PathGrouper, ResultBuilder, Runner, StatsCalculator, TodoGenerator

Constant Summary collapse

VERSION =

Returns version of the YARD Lint gem.

Returns:

  • (String)

    version of the YARD Lint gem

'1.5.2'

Class Method Summary collapse

Class Method Details

.run(path:, config: nil, config_file: nil, progress: nil, diff: nil) ⇒ Yard::Lint::Result

Main entry point for running YARD lint

Parameters:

  • path (String, Array<String>)

    file or glob pattern to check

  • config (Yard::Lint::Config, nil) (defaults to: nil)

    configuration object

  • config_file (String, nil) (defaults to: nil)

    path to config file (auto-loads .yard-lint.yml if not specified)

  • progress (Boolean) (defaults to: nil)

    show progress indicator (default: true for TTY)

  • diff (Hash, nil) (defaults to: nil)

    diff mode options

    • :mode [Symbol] one of :ref, :staged, :changed

    • :base_ref [String, nil] base ref for :ref mode (auto-detects main/master if nil)

Returns:

  • (Yard::Lint::Result)

    result object with offenses



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/yard/lint.rb', line 27

def run(path:, config: nil, config_file: nil, progress: nil, diff: nil)
  config ||= load_config(config_file)

  # Determine files to lint based on diff mode or normal path expansion
  files = if diff
            get_diff_files(diff, path, config)
          else
            expand_path(path, config)
          end

  runner = Runner.new(files, config)

  # Enable progress by default if output is a TTY
  show_progress = progress.nil? ? $stdout.tty? : progress
  runner.progress_formatter = Formatters::Progress.new if show_progress

  runner.run
end