class Physique::SqlCmd::Cmd

Attributes

parameters[R]

Public Class Methods

new(opts) click to toggle source
# File lib/physique/tasks/sqlcmd.rb, line 13
def initialize(opts)
  @executable = opts[:exe]
  set_parameters opts
end

Public Instance Methods

execute() click to toggle source
# File lib/physique/tasks/sqlcmd.rb, line 18
def execute
  sh "#{@executable} #{@parameters.join(' ')}"
end

Private Instance Methods

set_parameters(opts) click to toggle source
# File lib/physique/tasks/sqlcmd.rb, line 24
def set_parameters(opts)
  @parameters = @parameters || []
  @parameters << "-S #{opts[:server_name]}"
  @parameters << "-d #{opts[:database_name]}" unless opts.blank? :database_name
  @parameters << "-i #{opts[:file]}" if opts[:source] == :file
  @parameters << %{-Q "#{opts[:command]}"} if opts[:source] == :command
  @parameters << '-b' unless opts[:continue_on_error]

  opts[:variables].each do |k, v|
    @parameters << "-v #{k}=#{v}"
  end
end