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

Version Path
axe-core-api-4.10.1.pre.5294583 lib/axe/api/rules.rb
axe-core-api-4.10.2 lib/axe/api/rules.rb
axe-core-api-4.10.2.pre.2cca230 lib/axe/api/rules.rb
axe-core-api-4.10.1.pre.46a0052 lib/axe/api/rules.rb
axe-core-api-4.10.1.pre.7e72b19 lib/axe/api/rules.rb
axe-core-api-4.10.1.pre.5e15f96 lib/axe/api/rules.rb
axe-core-api-4.10.2.pre.5bd4e5c lib/axe/api/rules.rb
axe-core-api-4.10.1.pre.7bf959f lib/axe/api/rules.rb
axe-core-api-4.10.1 lib/axe/api/rules.rb
axe-core-api-4.10.0.pre.53569f6 lib/axe/api/rules.rb
axe-core-api-4.10.1.pre.7a3723a lib/axe/api/rules.rb
axe-core-api-4.10.0.pre.d102edb lib/axe/api/rules.rb
axe-core-api-4.9.1.pre.7a03090 lib/axe/api/rules.rb
axe-core-api-4.9.1.pre.1a5838a lib/axe/api/rules.rb
axe-core-api-4.10.0 lib/axe/api/rules.rb
axe-core-api-4.10.0.pre.5d7eac5 lib/axe/api/rules.rb
axe-core-api-4.9.1.pre.f16172e lib/axe/api/rules.rb
axe-core-api-4.9.1.pre.09e659e lib/axe/api/rules.rb
axe-core-api-4.9.1.pre.a80eeee lib/axe/api/rules.rb
axe-core-api-4.9.0.pre.a02013a lib/axe/api/rules.rb