Sha256: 3d11057c397fd4d3878e61d39e3603c5a216925d5686b31d88156f0bbfdc46ef

Contents?: true

Size: 821 Bytes

Versions: 51

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| Array(Selector.new s) }
      end

      def excluding(*selectors)
        @exclusion.concat selectors.map { |s| Array(Selector.new 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

51 entries across 51 versions & 1 rubygems

Version Path
axe-core-api-4.5.1.pre.9dea670 lib/axe/api/context.rb
axe-core-api-4.5.1.pre.e6f7e3f lib/axe/api/context.rb
axe-core-api-4.5.1.pre.4e009be lib/axe/api/context.rb
axe-core-api-4.5.1.pre.7bf550f lib/axe/api/context.rb
axe-core-api-4.5.1.pre.343efa9 lib/axe/api/context.rb
axe-core-api-4.5.1 lib/axe/api/context.rb
axe-core-api-4.5.0.pre.5d7e4b0 lib/axe/api/context.rb
axe-core-api-4.5.0.pre.705f72b lib/axe/api/context.rb
axe-core-api-4.5.0.pre.3213d27 lib/axe/api/context.rb
axe-core-api-4.5.0.pre.6c9cc54 lib/axe/api/context.rb
axe-core-api-4.5.0.pre.8a3c387 lib/axe/api/context.rb
axe-core-api-4.5.0.pre.6c1e542 lib/axe/api/context.rb
axe-core-api-4.5.0.pre.9570d84 lib/axe/api/context.rb
axe-core-api-4.5.0.pre.d8073e8 lib/axe/api/context.rb
axe-core-api-4.5.0 lib/axe/api/context.rb
axe-core-api-4.4.2.pre.3570a44 lib/axe/api/context.rb
axe-core-api-4.4.2.pre.abce5a5 lib/axe/api/context.rb
axe-core-api-4.4.2.pre.8f3f1ee lib/axe/api/context.rb
axe-core-api-4.3.3 lib/axe/api/context.rb
axe-core-api-4.3.3.pre.af5e58f lib/axe/api/context.rb