Sha256: 287779973109f291900b61d04bce478b673bdafc6c334c8d95da2f375e52e932

Contents?: true

Size: 1.12 KB

Versions: 34

Compression:

Stored size: 1.12 KB

Contents

require_relative "./value_object"

module Axe
  module API
    class Results < ValueObject
      require_relative "./results/rule"

      values do
        attribute :inapplicable, ::Array[Rule]
        attribute :incomplete, ::Array[Rule]
        attribute :passes, ::Array[Rule]
        attribute :timestamp
        attribute :url, ::String
        attribute :violations, ::Array[Rule]
      end

      def failure_message
        [
          "",
          violation_count_message,
          "",
          violations_failure_messages,
        ].flatten.join("\n")
      end

      def to_h
        {
          inapplicable: inapplicable.map(&:to_h),
          incomplete: incomplete.map(&:to_h),
          passes: passes.map(&:to_h),
          timestamp: timestamp,
          url: url,
          violations: violations.map(&:to_h),
        }
      end

      private

      def violation_count_message
        "Found #{violations.count} accessibility #{violations.count == 1 ? "violation" : "violations"}:"
      end

      def violations_failure_messages
        violations.each_with_index.map(&:failure_messages)
      end
    end
  end
end

Version data entries

34 entries across 34 versions & 1 rubygems

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