class EY::Serverside::Adapter::Command
Public Class Methods
new(binary_path, version, *task) { |self| ... }
click to toggle source
# File lib/engineyard-serverside-adapter/command.rb, line 8 def initialize(binary_path, version, *task) @binary = binary_path.to_s @version = version @task = task @arguments = [] yield self if block_given? end
Public Instance Methods
argument(type, switch, value)
click to toggle source
# File lib/engineyard-serverside-adapter/command.rb, line 25 def argument(type, switch, value) send(:"#{type}_argument", switch, value) end
array_argument(switch, values)
click to toggle source
# File lib/engineyard-serverside-adapter/command.rb, line 29 def array_argument(switch, values) compacted = values.compact.sort if compacted.any? @arguments << [switch, compacted] end end
boolean_argument(switch, value)
click to toggle source
# File lib/engineyard-serverside-adapter/command.rb, line 36 def boolean_argument(switch, value) if value @arguments << [switch] end end
hash_argument(switch, pairs)
click to toggle source
# File lib/engineyard-serverside-adapter/command.rb, line 42 def hash_argument(switch, pairs) if pairs.any? {|k,v| !v.nil?} @arguments << [switch, pairs.reject { |k,v| v.nil? }.map { |pair| pair.join(':') }.sort] end end
json_argument(switch, value)
click to toggle source
# File lib/engineyard-serverside-adapter/command.rb, line 48 def json_argument(switch, value) if value string_argument(switch, MultiJson.dump(value)) end end
string_argument(switch, value)
click to toggle source
# File lib/engineyard-serverside-adapter/command.rb, line 54 def string_argument(switch, value) if !value @arguments << [switch.sub(/^--/,'--no-')] # specifically for no-migrate elsif !value.to_s.empty? @arguments << [switch, value] end end
to_argv()
click to toggle source
# File lib/engineyard-serverside-adapter/command.rb, line 17 def to_argv [@binary, "_#{@version}_"] + @task + @arguments.sort_by { |x| x.first }.flatten end
to_s()
click to toggle source
# File lib/engineyard-serverside-adapter/command.rb, line 21 def to_s Escape.shell_command to_argv end