Module: Bindeps
- Defined in:
- lib/bindeps.rb,
lib/bindeps/version.rb
Defined Under Namespace
Classes: Dependency, DownloadFailedError, System, UnsupportedSystemError
Constant Summary collapse
- VERSION =
"1.2.0"
Class Method Summary collapse
-
.missing(dependencies) ⇒ Object
Check whether all dependencies are installed.
- .require(dependencies, destdir = '') ⇒ Object
Class Method Details
.missing(dependencies) ⇒ Object
Check whether all dependencies are installed. Return an array of missing dependencies.
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/bindeps.rb', line 36 def self.missing dependencies if dependencies.is_a? String dependencies = YAML.load_file dependencies end missing = [] Dir.mktmpdir do |tmpdir| Dir.chdir(tmpdir) do dependencies.each_pair do |name, config| unpack = config.key?('unpack') ? config['unpack'] : true; libraries = config.key?('libraries') ? config['libraries'] : [] d = Dependency.new(name, config['binaries'], config['version'], config['url'], unpack, libraries) missing << d unless d.all_installed? end end end missing end |
.require(dependencies, destdir = '') ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/bindeps.rb', line 13 def self.require(dependencies, destdir = '') if dependencies.is_a? String dependencies = YAML.load_file dependencies end Dir.mktmpdir do |tmpdir| Dir.chdir(tmpdir) do dependencies.each_pair do |name, config| unpack = config.key?('unpack') ? config['unpack'] : true; libraries = config.key?('libraries') ? config['libraries'] : [] d = Dependency.new(name, config['binaries'], config['version'], config['url'], unpack, libraries) d.install_missing destdir end end end end |