class MediaInfo
Public Instance Methods
help()
click to toggle source
# File lib/cli_chef/apps/media_info.rb, line 25 def help run!(help: true).body end
info(file, full = false)
click to toggle source
# File lib/cli_chef/apps/media_info.rb, line 33 def info(file, full = false) run!(file: file, full: full).body.split("\n\n").hmap do |category| lines = category.split("\n") next if lines.empty? [ lines.shift.strip.downcase.method_case, lines.hmap do |line| key, value = line.split(':', 2) key = key.downcase.method_case.to_sym [ key, convert_value(key, value.strip) ] end ] end.keys_to_sym end
version()
click to toggle source
# File lib/cli_chef/apps/media_info.rb, line 29 def version run!(version: true).body.scan(/(?<= v)\d+\.\d+.*/).first end
Protected Instance Methods
convert_value(key, value)
click to toggle source
# File lib/cli_chef/apps/media_info.rb, line 53 def convert_value(key, value) case key when :file_size value.parse_file_size when :duration value.parse_duration when :width, :height value.to_i else value end end