Class: ERBLint::Linters::AdminPageTitleLinter

Inherits:
Linter
  • Object
show all
Includes:
LinterRegistry
Defined in:
lib/erb_lint/linters/admin_page_title_linter.rb

Constant Summary collapse

TITLE_SNIPPET =
'<% add_decidim_page_title(t(".title")) %>'
TITLE_SNIPPET_REGEX =
/\A<%\s*add_decidim_page_title\(t\(".title".*?\)\)\s*%>/

Instance Method Summary collapse

Instance Method Details

#run(processed_source) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
# File 'lib/erb_lint/linters/admin_page_title_linter.rb', line 17

def run(processed_source)
  return unless admin_view?(processed_source.filename)

  first_line = processed_source.file_content.to_s.lines.first
  return if first_line&.match?(TITLE_SNIPPET_REGEX)

  add_offense(
    processed_source.to_source_range(0...0),
    "Admin views must start with: #{TITLE_SNIPPET}"
  )
end