Class: ChefRake::Task::Gem
- Inherits:
-
Rake::TaskLib
- Object
- Rake::TaskLib
- ChefRake::Task::Gem
- Defined in:
- lib/chef/raketasks/gem.rb
Instance Method Summary collapse
-
#initialize ⇒ Gem
constructor
A new instance of Gem.
Constructor Details
#initialize ⇒ Gem
Returns a new instance of Gem.
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/chef/raketasks/gem.rb', line 23 def initialize namespace :gem do desc 'gem:install' namespace :install do def install_gem(name, version, source) cmd = 'chef gem install ' cmd << name + ' ' cmd << "-v #{version} " unless version.nil? cmd << "-s #{source} " unless source.nil? cmd << '--no-document' sh cmd end # NAMESPACE: gem:install:static desc 'Installs necessary static gems for kitchen' task static: %i[ gem:install:static:kitchen ] namespace :static do desc 'Installs kitchen-static for kitchen' task :kitchen, [:version, :source] do |_t, args| install_gem('kitchen-static', args.version, args.source) end end # NAMESPACE: gem:install:vcenter desc 'Installs necessary vcenter gems for kitchen' task vcenter: %i[ gem:install:vcenter:sdk gem:install:vcenter:kitchen ] namespace :vcenter do desc 'Installs vcenter sdk for kitchen' task :sdk, [:version, :source] do |_t, args| install_gem('vsphere-automation-sdk', args.version, args.source) end desc 'Installs kitchen-vcenter for kitchen' task :kitchen, [:version, :source] do |_t, args| install_gem('kitchen-vcenter', args.version, args.source) end end # namespace vcenter end # namespace install end # namespace gem end |