Module: BlueDoc::SML::Rules

Defined in:
lib/bluedoc/sml/rules.rb,
lib/bluedoc/sml/rules/br.rb,
lib/bluedoc/sml/rules/hr.rb,
lib/bluedoc/sml/rules/td.rb,
lib/bluedoc/sml/rules/tr.rb,
lib/bluedoc/sml/rules/base.rb,
lib/bluedoc/sml/rules/file.rb,
lib/bluedoc/sml/rules/link.rb,
lib/bluedoc/sml/rules/list.rb,
lib/bluedoc/sml/rules/math.rb,
lib/bluedoc/sml/rules/root.rb,
lib/bluedoc/sml/rules/span.rb,
lib/bluedoc/sml/rules/text.rb,
lib/bluedoc/sml/rules/image.rb,
lib/bluedoc/sml/rules/table.rb,
lib/bluedoc/sml/rules/video.rb,
lib/bluedoc/sml/rules/heading.rb,
lib/bluedoc/sml/rules/mention.rb,
lib/bluedoc/sml/rules/plantuml.rb,
lib/bluedoc/sml/rules/codeblock.rb,
lib/bluedoc/sml/rules/paragraph.rb,
lib/bluedoc/sml/rules/blockquote.rb,
lib/bluedoc/sml/rules/span_with_mark.rb

Defined Under Namespace

Classes: Base, Blockquote, Br, Codeblock, File, Heading, Hr, Image, Link, List, Math, Mention, Paragraph, Plantuml, Root, Span, SpanWithMark, SyntaxError, Table, Td, Text, Tr, Video

Class Method Summary collapse

Class Method Details

.allObject



7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/bluedoc/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 "bluedoc/sml/rules/#{rule_name}"

    next if rule_name == "base"
    rules << "BlueDoc::SML::Rules::#{rule_name.classify}".constantize
  end
  @rules = rules
  @rules
end

.find_by_node(node) ⇒ Object



21
22
23
# File 'lib/bluedoc/sml/rules.rb', line 21

def self.find_by_node(node)
  all.find { |rule| rule.match?(node) } || BlueDoc::SML::Rules::Base
end