Sha256: 961ee70c67e3d32017f09540c63ee443a15a0c03401f6d78b05c5ed7f9257b8c

Contents?: true

Size: 1.77 KB

Versions: 24

Compression:

Stored size: 1.77 KB

Contents

# frozen_string_literal: true

require 'eac_ruby_utils/core_ext'
require 'ehbrs/videos/unsupported/check_result'

module Ehbrs
  module Videos
    module Unsupported
      module CheckSupport
        common_concern do
          enable_simple_cache
          enable_speaker
        end

        def aggressions_banner(title)
          return if passed?

          info title
          pad_speaker do
            unpassed_checks.each do |u|
              info "* #{u.message}"
            end
          end
        end

        def ffmpeg_fix_args
          unpassed_checks.flat_map do |check|
            check.check.fix.if_present([]) { |v| v.ffmpeg_args(self) }
          end
        end

        def passed?
          unpassed_checks.none?
        end

        private

        def unpassed_checks_uncached
          checks.reject(&:passed?)
        end

        def checks_uncached
          options.fetch(check_set_key).checks.map do |check|
            ::Ehbrs::Videos::Unsupported::CheckResult.new(self, check)
          end
        rescue StandardError => e
          raise "#{e.message} (Source: #{self})"
        end

        def fix_blocks_uncached
          checks.reject(&:passed?).select { |c| c.check.fix.blank? }
        end

        def fixes_uncached
          checks.reject(&:passed?).map { |c| c.check.fix }.reject(&:blank?)
        end

        def pad_speaker
          ::EacRubyUtils::Speaker.context.on(::EacCli::Speaker.new(err_line_prefix: '  ')) do
            yield
          end
        end

        def new_padded_cli_speaker
          ::EacCli::Speaker.new(
            err_line_prefix(::EacRubyUtils::Speaker.context.optional_current
            .if_present('') { |v| v.is_a?(::EacCli::Speaker) ? v.err_line_prefix : '' } + '  ')
          )
        end
      end
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

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