Module: BookLab::SML::Rules
- Defined in:
- lib/booklab/sml/rules.rb,
lib/booklab/sml/rules/br.rb,
lib/booklab/sml/rules/hr.rb,
lib/booklab/sml/rules/td.rb,
lib/booklab/sml/rules/tr.rb,
lib/booklab/sml/rules/base.rb,
lib/booklab/sml/rules/file.rb,
lib/booklab/sml/rules/link.rb,
lib/booklab/sml/rules/list.rb,
lib/booklab/sml/rules/math.rb,
lib/booklab/sml/rules/root.rb,
lib/booklab/sml/rules/span.rb,
lib/booklab/sml/rules/text.rb,
lib/booklab/sml/rules/image.rb,
lib/booklab/sml/rules/table.rb,
lib/booklab/sml/rules/video.rb,
lib/booklab/sml/rules/heading.rb,
lib/booklab/sml/rules/plantuml.rb,
lib/booklab/sml/rules/codeblock.rb,
lib/booklab/sml/rules/paragraph.rb,
lib/booklab/sml/rules/blockquote.rb,
lib/booklab/sml/rules/span_with_mark.rb
Defined Under Namespace
Classes: Base, Blockquote, Br, Codeblock, File, Heading, Hr, Image, Link, List, Math, Paragraph, Plantuml, Root, Span, SpanWithMark, SyntaxError, Table, Td, Text, Tr, Video
Class Method Summary
collapse
Class Method Details
.all ⇒ Object
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# 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) ⇒ Object
21
22
23
|
# 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
|