class MarkdownLint::Style

Attributes

rules[R]

Public Class Methods

load(style_file, rules) click to toggle source
# File lib/mdl/style.rb, line 46
def self.load(style_file, rules)
  unless style_file.include?("/") or style_file.end_with?(".rb")
    style_file = File.expand_path("../styles/#{style_file}.rb", __FILE__)
  end
  style = new(rules)
  style.instance_eval(File.read(style_file), style_file)
  rules.select! {|r| style.rules.include?(r)}
  style
end
new(all_rules) click to toggle source
# File lib/mdl/style.rb, line 7
def initialize(all_rules)
  @tagged_rules = {}
  @aliases = {}
  all_rules.each do |id, r|
    r.tags.each do |t|
      @tagged_rules[t] ||= Set.new
      @tagged_rules[t] << id
    end
    r.aliases.each do |a|
      @aliases[a] = id
    end
  end
  @all_rules = all_rules
  @rules = Set.new
end

Public Instance Methods

all() click to toggle source
# File lib/mdl/style.rb, line 23
def all
  @rules.merge(@all_rules.keys)
end
exclude_rule(id) click to toggle source
# File lib/mdl/style.rb, line 33
def exclude_rule(id)
  id = @aliases[id] if @aliases[id]
  @rules.delete(id)
end
exclude_tag(t) click to toggle source
# File lib/mdl/style.rb, line 42
def exclude_tag(t)
  @rules.subtract(@tagged_rules[t])
end
rule(id, params={}) click to toggle source
# File lib/mdl/style.rb, line 27
def rule(id, params={})
  id = @aliases[id] if @aliases[id]
  @rules << id
  @all_rules[id].params(params)
end
tag(t) click to toggle source
# File lib/mdl/style.rb, line 38
def tag(t)
  @rules.merge(@tagged_rules[t])
end