Class: RuboCop::Cop::ViewComponent::MissingPreview
- Inherits:
-
Base
- Object
- Base
- RuboCop::Cop::ViewComponent::MissingPreview
- Includes:
- Base
- Defined in:
- lib/rubocop/cop/view_component/missing_preview.rb
Overview
Ensures that every ViewComponent has a corresponding preview file.
Looks for previews in the configured PreviewPaths, supporting both naming conventions: ‘user_preview.rb` and `user_component_preview.rb`.
Constant Summary collapse
- MSG =
"No preview found for %<component>s (looked in: %<paths>s)."
Instance Method Summary collapse
Methods included from Base
#component_namespaces, #enclosing_class, #inside_view_component?, #view_component_class?, #view_component_parent?
Instance Method Details
#on_class(node) ⇒ Object
16 17 18 19 20 21 22 23 |
# File 'lib/rubocop/cop/view_component/missing_preview.rb', line 16 def on_class(node) return unless view_component_class?(node) class_name = node.identifier.source return if preview_exists?(class_name) add_offense(node.identifier, message: format(MSG, component: class_name, paths: preview_paths.join(", "))) end |