Sha256: aa4da76c51a6164f53b4e4fcf63db096fe17e8ae55bc1aa4613f66778d72f676

Contents?: true

Size: 972 Bytes

Versions: 9

Compression:

Stored size: 972 Bytes

Contents

# frozen_string_literal: true

require 'eac_ruby_utils/envs'
require 'eac_ruby_utils/core_ext'

module EhbrsRubyUtils
  module Executables
    class << self
      enable_simple_cache

      def env
        ::EacRubyUtils::Envs.local
      end

      private

      {
        '-?' => %w[rar],
        '-h' => %w[unzip],
        '-version' => %w[ffmpeg ffprobe],
        '--version' => %w[isoinfo tar wit]
      }.each do |validate_arg, commands|
        commands.each do |command|
          define_method("#{command}_uncached") do
            env.executable(command, validate_arg)
          end
        end
      end

      # @return [EacRubyUtils::Envs::Executable]
      def mudslide_uncached
        env.executable('mudslide', exec_args: %w[npx mudslide@latest], check_args: %w[--version])
      end

      # !method sevenzip
      # @return [EacRubyUtils::Envs::Executable]
      def sevenzip_uncached
        env.executable('7z', '--help')
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
ehbrs_ruby_utils-0.44.3 lib/ehbrs_ruby_utils/executables.rb
ehbrs_ruby_utils-0.44.2 lib/ehbrs_ruby_utils/executables.rb
ehbrs_ruby_utils-0.44.1 lib/ehbrs_ruby_utils/executables.rb
ehbrs_ruby_utils-0.44.0 lib/ehbrs_ruby_utils/executables.rb
ehbrs_ruby_utils-0.41.1 lib/ehbrs_ruby_utils/executables.rb
ehbrs_ruby_utils-0.41.0 lib/ehbrs_ruby_utils/executables.rb
ehbrs_ruby_utils-0.40.0 lib/ehbrs_ruby_utils/executables.rb
ehbrs_ruby_utils-0.39.0 lib/ehbrs_ruby_utils/executables.rb
ehbrs_ruby_utils-0.38.0 lib/ehbrs_ruby_utils/executables.rb