homebrew-cask-versions/lib/cask/container.rb
Paul Hinze c0f470cd55 Merge pull request #3011 from rolandwalker/force_container_type
ability to specify container type, not detect
2014-02-28 09:23:01 -06:00

49 lines
1.3 KiB
Ruby

class Cask::Container; end
require 'cask/container/base'
require 'cask/container/unarbase'
require 'cask/container/air'
require 'cask/container/bzip2'
require 'cask/container/cab'
require 'cask/container/criteria'
require 'cask/container/dmg'
require 'cask/container/naked'
require 'cask/container/sevenzip'
require 'cask/container/sit'
require 'cask/container/tar'
require 'cask/container/rar'
require 'cask/container/zip'
class Cask::Container
def self.containers
[
Cask::Container::Air,
Cask::Container::Cab,
Cask::Container::Dmg,
Cask::Container::SevenZip,
Cask::Container::Sit,
Cask::Container::Tar,
Cask::Container::Rar,
Cask::Container::Zip,
Cask::Container::Bzip2,
Cask::Container::Naked,
]
end
def self.for_path(path, command)
odebug "Determining which containers to use based on filetype"
criteria = Cask::Container::Criteria.new(path, command)
containers.find do |c|
odebug "Checking container class #{c}"
c.me?(criteria)
end
end
def self.from_type(type)
odebug "Determining which containers to use based on 'container_type'"
containers.find do |c|
odebug "Checking container class #{c}"
c.to_s == "Cask::Container::#{type.to_s.capitalize}"
end
end
end