Sha256: 510866b99f443c5bef1ed1c9c02fca85982170cdb418d272a7a8226258942c6e
Contents?: true
Size: 1.52 KB
Versions: 1
Compression:
Stored size: 1.52 KB
Contents
require 'thor' require 'natives/app' require 'natives/gemfile_viewer' module Natives class Cli < Thor default_task :install desc 'version', 'print the version number' def version puts IO.read('VERSION') end desc 'install [ENTRY1 ENTRY2 ..]', 'install native packages required by the catalog entries' method_option :catalog, default: 'rubygems', aliases: '-c', desc: 'use this catalog' method_option :gemfile, default: 'Gemfile', desc: 'use gems in the gemfile as the catalog entries' method_option :"update-provider", type: 'boolean', default: false, aliases: '-u', desc: "update package provider's repo (eg. apt-get update)" method_option :"test-run", type: 'boolean', default: false, aliases: %w(-t --dry-run), desc: "run without actually installing native packages" def install(*packages) catalog = options[:catalog] configs = { update_provider: options['update-provider'], test_run: options['test-run'] } if catalog == 'rubygems' && packages.empty? packages = packages_in_gemfile(options[:gemfile]) end puts "catalog: #{catalog.inspect}" puts "entries: #{packages.inspect}" puts "configs: #{configs}" puts "" Natives::App.new.install(catalog, packages, configs) rescue => ex $stderr.puts ex.message end protected def packages_in_gemfile(gemfile_path) Natives::GemfileViewer.new(gemfile_path).packages end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
natives-0.4.1 | lib/natives/cli.rb |