class Axe::API::Rules

Public Class Methods

new() click to toggle source
# File lib/axe/api/rules.rb, line 4
def initialize
  @tags = []
  @included = []
  @excluded = []
  @exclusive = []
end

Public Instance Methods

according_to(*tags) click to toggle source
# File lib/axe/api/rules.rb, line 11
def according_to(*tags)
  @tags.concat tags.flatten
end
checking(*rules) click to toggle source
# File lib/axe/api/rules.rb, line 15
def checking(*rules)
  @included.concat rules.flatten
end
checking_only(*rules) click to toggle source
# File lib/axe/api/rules.rb, line 19
def checking_only(*rules)
  @exclusive.concat rules.flatten
end
skipping(*rules) click to toggle source
# File lib/axe/api/rules.rb, line 23
def skipping(*rules)
  @excluded.concat rules.flatten
end
to_hash() click to toggle source
# File lib/axe/api/rules.rb, line 27
def to_hash
  {}.tap do |options|
    # TODO warn that tags + exclusive-rules are incompatible
    options.merge! runOnly: { type: :tag, values: @tags } unless @tags.empty?
    options.merge! runOnly: { type: :rule, values: @exclusive } unless @exclusive.empty?
    options.merge! rules: Hash[@included.product([enabled: true]) + @excluded.product([enabled: false])] unless @included.empty? && @excluded.empty?
  end
end