module BookLab::SML::Rules

Public Class Methods

all() click to toggle source
# File lib/booklab/sml/rules.rb, line 7
def self.all
  return @rules if defined? @rules
  rules = []
  Dir.glob(::File.expand_path("rules/*.rb", __dir__)).each do |path|
    rule_name = ::File.basename(path, ".rb")
    require "booklab/sml/rules/#{rule_name}"

    next if rule_name == "base"
    rules << "BookLab::SML::Rules::#{rule_name.classify}".constantize
  end
  @rules = rules
  @rules
end
find_by_node(node) click to toggle source
# File lib/booklab/sml/rules.rb, line 21
def self.find_by_node(node)
  all.find { |rule| rule.match?(node) } || BookLab::SML::Rules::Base
end