From fb1ea46fc08026b701ca823c71c001a78dfbbf42 Mon Sep 17 00:00:00 2001 From: Kohei Suzuki Date: Fri, 17 Jul 2015 18:35:50 +0900 Subject: [PATCH] Allow array gem_binary Sometimes I'd like to set custom gem command like `env RBENV_VERSION=2.2.2 rbenv exec gem` . --- lib/itamae/resource/gem_package.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/itamae/resource/gem_package.rb b/lib/itamae/resource/gem_package.rb index 45adb7dd..4b5d1433 100644 --- a/lib/itamae/resource/gem_package.rb +++ b/lib/itamae/resource/gem_package.rb @@ -5,7 +5,7 @@ module Resource class GemPackage < Base define_attribute :action, default: :install define_attribute :package_name, type: String, default_name: true - define_attribute :gem_binary, type: String, default: 'gem' + define_attribute :gem_binary, type: [String, Array], default: 'gem' define_attribute :version, type: String define_attribute :source, type: String @@ -51,7 +51,7 @@ def action_upgrade(action_options) def installed_gems gems = [] - run_command([attributes.gem_binary, 'list', '-l']).stdout.each_line do |line| + run_command([*Array(attributes.gem_binary), 'list', '-l']).stdout.each_line do |line| if /\A([^ ]+) \(([^\)]+)\)\z/ =~ line.strip name = $1 versions = $2.split(', ') @@ -64,7 +64,7 @@ def installed_gems end def install! - cmd = [attributes.gem_binary, 'install'] + cmd = [*Array(attributes.gem_binary), 'install'] if attributes.version cmd << '-v' << attributes.version end