Sha256: 665ebfbe54e2b51c01e66cb7dff7d121d42839223cdeea251dd2262771852dbb

Contents?: true

Size: 708 Bytes

Versions: 1

Compression:

Stored size: 708 Bytes

Contents

module Ffprober
  module Ffmpeg
    class Finder
      SEARCH_PATHS = ENV["PATH"]

      def self.path
        fail Ffprober::NoFfprobeFound if executable_path.nil?
        @path ||= File.expand_path(executable_name, executable_path)
      end

      def self.executable_name
        @executable_name ||= self.windows? ? "ffprobe.exe" : "ffprobe"
      end

      def self.windows?
        !!(RUBY_PLATFORM =~ /(mingw|mswin)/)
      end

      def self.executable_path
        @@executable_path ||= begin
          SEARCH_PATHS.split(File::PATH_SEPARATOR).detect do |path_to_check|
            File.executable?(File.join(path_to_check, executable_name))
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ffprober-0.5.1 lib/ffprober/ffmpeg/finder.rb