Module: Fastererer::RuleCatalog

Defined in:
lib/fastererer/rule_catalog.rb

Overview

Loads, validates, memoizes and looks up the rule catalog from the i18n locale.

Constant Summary collapse

LOCALE_PATH =
File.expand_path('../../config/locales/en.yml', __dir__)

Class Method Summary collapse

Class Method Details

.allObject



13
14
15
# File 'lib/fastererer/rule_catalog.rb', line 13

def all
  @all ||= load
end

.fetch(offense_name) ⇒ Object



17
18
19
20
21
# File 'lib/fastererer/rule_catalog.rb', line 17

def fetch(offense_name)
  all.fetch(offense_name.to_s) do
    raise UnknownRuleError, "Unknown rule: #{offense_name.inspect}"
  end
end

.validate!(offense_name) ⇒ Object

Guard-only: raises for an unknown rule, returns nil otherwise.



24
25
26
27
# File 'lib/fastererer/rule_catalog.rb', line 24

def validate!(offense_name)
  fetch(offense_name)
  nil
end