lib/ffprober.rb in ffprober-0.3.7 vs lib/ffprober.rb in ffprober-0.4.0
- old
+ new
@@ -1,23 +1,27 @@
-require "ffprober/version"
-require "ffprober/parser"
-require "ffprober/format"
-require "ffprober/stream"
-require "ffprober/audio_stream"
-require "ffprober/video_stream"
-require "ffprober/ffprobe_version"
-require "json"
+require_relative 'ffprober/version'
+require_relative 'ffprober/parser'
+require_relative 'ffprober/format'
+require_relative 'ffprober/stream'
+require_relative 'ffprober/audio_stream'
+require_relative 'ffprober/video_stream'
+require_relative 'ffprober/chapter'
+require_relative 'ffprober/ffprobe_version'
+require 'json'
module Ffprober
def self.path
- name = 'ffprobe'
- name << '.exe' if self.windows?
+ @path ||= begin
+ path = ENV['PATH'].split(File::PATH_SEPARATOR).find do |path_to_check|
+ File.executable?(File.join(path_to_check, executable_name))
+ end
- path = ENV['PATH'].split(File::PATH_SEPARATOR).find do |path|
- File.executable?(File.join(path, name))
+ path && File.expand_path(executable_name, path)
end
+ end
- path && File.expand_path(name, path)
+ def self.executable_name
+ @executable_name ||= self.windows? ? 'ffprobe.exe' : 'ffprobe'
end
def self.windows?
!!(RUBY_PLATFORM =~ /(mingw|mswin)/)
end