Sha256: 3dbff9d9ae69483443a373b7b501d737bc6f5e3f69bbc37ad6ce813141caeea1

Contents?: true

Size: 645 Bytes

Versions: 34

Compression:

Stored size: 645 Bytes

Contents

require_relative "./selector"

module Axe
  module API
    class Context
      def initialize
        @inclusion = []
        @exclusion = []
      end

      def within(*selectors)
        @inclusion.concat selectors.map { |s| Array(Selector.new s) }
      end

      def excluding(*selectors)
        @exclusion.concat selectors.map { |s| Array(Selector.new s) }
      end

      def to_hash
        { include: @inclusion, exclude: @exclusion }
          .reject { |k, v| v.empty? }
      end

      def to_json
        to_hash.to_json
      end

      def empty?
        to_hash.empty?
      end

      alias :to_s :to_json
    end
  end
end

Version data entries

34 entries across 34 versions & 1 rubygems

Version Path
axe-core-api-4.2.1 lib/axe/api/context.rb
axe-core-api-4.2.0.pre.5a82425 lib/axe/api/context.rb
axe-core-api-4.2.0.pre.bb86ed5 lib/axe/api/context.rb
axe-core-api-4.2.0.pre.d50cf94 lib/axe/api/context.rb
axe-core-api-4.2.0 lib/axe/api/context.rb
axe-core-api-4.0.0.pre.5880fc5 lib/axe/api/context.rb
axe-core-api-4.0.0.pre.a8e5044 lib/axe/api/context.rb
axe-core-api-4.0.0.pre.c46720b lib/axe/api/context.rb
axe-core-api-4.0.0.pre.eafff01 lib/axe/api/context.rb
axe-core-api-4.0.0.pre.2bf4a90 lib/axe/api/context.rb
axe-core-api-4.0.0.pre.c36a2a1 lib/axe/api/context.rb
axe-core-api-4.0.0.pre.1dd5198 lib/axe/api/context.rb
axe-core-api-4.0.0.pre.88457a3 lib/axe/api/context.rb
axe-core-api-4.0.0.pre.f26d625 lib/axe/api/context.rb
axe-core-api-4.0.0.pre.3039ae4 lib/axe/api/context.rb
axe-core-api-4.0.0.pre.2b814f9 lib/axe/api/context.rb
axe-core-api-4.0.0.pre.6784dc7 lib/axe/api/context.rb
axe-core-api-4.1.0 lib/axe/api/context.rb
axe-core-api-4.0.0.pre.e73e472 lib/axe/api/context.rb
axe-core-api-4.0.0.pre.588d434 lib/axe/api/context.rb