Sha256: e02a66dc2deed0ebf9eb9ca2ccce489ba42051eb00f6a3574eb35c854eec3054

Contents?: true

Size: 973 Bytes

Versions: 50

Compression:

Stored size: 973 Bytes

Contents

# frozen_string_literal: true

require 'ehbrs/videos/unsupported/checks'

module Ehbrs
  module Videos
    module Unsupported
      class CheckSet
        enable_simple_cache
        common_constructor :checks

        class << self
          # type: "file" or "track"
          def build(profiles, type)
            r = {}
            profiles.each do |profile|
              profile.send("#{type}_checks").each do |check|
                r[check] ||= CheckWithProfiles.new(check)
                r[check].add_profile(profile)
              end
            end
            new(r.values)
          end
        end

        class CheckWithProfiles < ::SimpleDelegator
          def initialize(check)
            super(check)
            @profiles = []
          end

          def check_name
            __getobj__.class.name.demodulize
          end

          def add_profile(profile)
            @profiles << profile
          end
        end
      end
    end
  end
end

Version data entries

50 entries across 50 versions & 1 rubygems

Version Path
ehbrs-tools-0.39.0 lib/ehbrs/videos/unsupported/check_set.rb
ehbrs-tools-0.38.0 lib/ehbrs/videos/unsupported/check_set.rb
ehbrs-tools-0.37.0 lib/ehbrs/videos/unsupported/check_set.rb
ehbrs-tools-0.36.0 lib/ehbrs/videos/unsupported/check_set.rb
ehbrs-tools-0.35.1 lib/ehbrs/videos/unsupported/check_set.rb
ehbrs-tools-0.35.0 lib/ehbrs/videos/unsupported/check_set.rb
ehbrs-tools-0.34.0 lib/ehbrs/videos/unsupported/check_set.rb
ehbrs-tools-0.33.0 lib/ehbrs/videos/unsupported/check_set.rb
ehbrs-tools-0.32.0 lib/ehbrs/videos/unsupported/check_set.rb
ehbrs-tools-0.31.1 lib/ehbrs/videos/unsupported/check_set.rb
ehbrs-tools-0.31.0 lib/ehbrs/videos/unsupported/check_set.rb
ehbrs-tools-0.30.0 lib/ehbrs/videos/unsupported/check_set.rb
ehbrs-tools-0.29.0 lib/ehbrs/videos/unsupported/check_set.rb
ehbrs-tools-0.28.3 lib/ehbrs/videos/unsupported/check_set.rb
ehbrs-tools-0.28.2 lib/ehbrs/videos/unsupported/check_set.rb
ehbrs-tools-0.28.1 lib/ehbrs/videos/unsupported/check_set.rb
ehbrs-tools-0.28.0 lib/ehbrs/videos/unsupported/check_set.rb
ehbrs-tools-0.27.0 lib/ehbrs/videos/unsupported/check_set.rb
ehbrs-tools-0.26.0 lib/ehbrs/videos/unsupported/check_set.rb
ehbrs-tools-0.25.1 lib/ehbrs/videos/unsupported/check_set.rb