Sha256: 71d050a1962a4ccfae44bf4323cb38e06d25236bae2e0644d284b1439659e081

Contents?: true

Size: 821 Bytes

Versions: 70

Compression:

Stored size: 821 Bytes

Contents

require_relative "./selector"

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

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

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

      def to_h
        to_hash
      end
      def to_hash
        return { exclude: @exclusion } if @inclusion.empty?
        h = {}
        h["include"] = @inclusion unless @inclusion.empty?
        h["exclude"] = @exclusion unless @exclusion.empty?
        h
      end

      def to_json(options = nil)
        to_hash.to_json options
      end

      def empty?
        to_hash.empty?
      end

      alias :to_s :to_json
    end
  end
end

Version data entries

70 entries across 70 versions & 1 rubygems

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