lib/ffprober/ffprobe_version.rb in ffprober-0.4.2 vs lib/ffprober/ffprobe_version.rb in ffprober-0.4.3

- old
+ new

@@ -1,41 +1,21 @@ module Ffprober class FfprobeVersion - VERSION_REGEX = /^(ffprobe|avprobe|ffmpeg) version (\d+)\.?(\d+)\.?(\d+)*/ - NIGHTLY_REGEX = /^(ffprobe|avprobe|ffmpeg) version (N|git)-/ - - MIN_VERSION = Gem::Version.new('0.9.0') - MAX_VERSION = Gem::Version.new('2.5.4') - def self.valid? new.valid? end - def self.version - new.version - end - def valid? - nightly? || (MIN_VERSION <= version && version <= MAX_VERSION) + validator.valid? end - def parse_version - @parse_version ||= begin - ffprobe_version_output.match(VERSION_REGEX) do |match| - [match[2].to_i, match[3].to_i, match[4].to_i] - end || [0, 0, 0] - end - end + private - def version - @version ||= Gem::Version.new(parse_version.join('.')) + def validator + Ffprober::Ffmpeg::VersionValidator.new(version) end - def nightly? - !!(ffprobe_version_output =~ NIGHTLY_REGEX) - end - - def ffprobe_version_output - @ffprobe_version_output ||= Ffprober.path.nil? ? '' : `#{Ffprober.path} -version` + def version + Ffprober::Ffmpeg::Version.new end end end