Class: MarkdownLint::RuleSet

Inherits:
Object
  • Object
show all
Defined in:
lib/mdl/ruleset.rb

Overview

defines a ruleset

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeRuleSet

Returns a new instance of RuleSet.



76
77
78
# File 'lib/mdl/ruleset.rb', line 76

def initialize
  @rules = {}
end

Instance Attribute Details

#rulesObject (readonly)

Returns the value of attribute rules.



74
75
76
# File 'lib/mdl/ruleset.rb', line 74

def rules
  @rules
end

Instance Method Details

#docs(url = nil, &block) ⇒ Object



90
91
92
93
94
95
96
# File 'lib/mdl/ruleset.rb', line 90

def docs(url = nil, &block)
  if block_given? != url.nil?
    raise ArgumentError, 'Give either a URL or a block, not both'
  end

  @fallback_docs = block_given? ? block : lambda { |_, _| url }
end

#load(rules_file) ⇒ Object



85
86
87
88
# File 'lib/mdl/ruleset.rb', line 85

def load(rules_file)
  instance_eval(File.read(rules_file), rules_file)
  @rules
end

#load_defaultObject



98
99
100
# File 'lib/mdl/ruleset.rb', line 98

def load_default
  load(File.expand_path('rules.rb', __dir__))
end

#rule(id, description) ⇒ Object



80
81
82
83
# File 'lib/mdl/ruleset.rb', line 80

def rule(id, description, &)
  @rules[id] =
    Rule.new(id, description, :fallback_docs => @fallback_docs, &)
end