Sha256: 3b100183f60b8a66d93b764cb3a9d3ab4d014c75b5fae755e1a07778882888e9
Contents?: true
Size: 960 Bytes
Versions: 176
Compression:
Stored size: 960 Bytes
Contents
module Axe module API class Rules def initialize @tags = [] @included = [] @excluded = [] @exclusive = [] end def according_to(*tags) @tags.concat tags.flatten end def checking(*rules) @included.concat rules.flatten end def checking_only(*rules) @exclusive.concat rules.flatten end def skipping(*rules) @excluded.concat rules.flatten end 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 end end end
Version data entries
176 entries across 176 versions & 2 rubygems