class Physique::SqlCmd::Config

Attributes

command[W]

The sql command to execute

database_name[W]

The database name

Public Class Methods

new() click to toggle source
# File lib/physique/tasks/sqlcmd.rb, line 55
def initialize
  @variables = Hash.new
  @continue_on_error = false

  @exe = which('sqlcmd') ||
      locate_tool('C:/Program Files/Microsoft SQL Server/**/Tools/Binn/SQLCMD.EXE')
end

Public Instance Methods

continue_on_error() click to toggle source
# File lib/physique/tasks/sqlcmd.rb, line 67
def continue_on_error
  @continue_on_error = true
end
opts() click to toggle source
# File lib/physique/tasks/sqlcmd.rb, line 71
def opts
  raise ArgumentError, 'You must specify a server name' if @server_name.blank?
  raise ArgumentError, 'You must specify a command or a file to execute' unless can_execute?

  Map.new({
    exe: @exe,
    server_name: @server_name,
    database_name: @database_name,
    file: @file,
    command: @command,
    source: execute_source,
    continue_on_error: @continue_on_error,
    variables: @variables
  })
end
set_variable(k, v) click to toggle source
# File lib/physique/tasks/sqlcmd.rb, line 63
def set_variable(k, v)
  @variables[k] = v
end

Private Instance Methods

can_execute?() click to toggle source
# File lib/physique/tasks/sqlcmd.rb, line 89
def can_execute?
  !(@file.blank? && @command.blank?)
end
execute_source() click to toggle source
# File lib/physique/tasks/sqlcmd.rb, line 93
def execute_source
  # Command takes precedence over a file
  return :command unless @command.blank?
  :file
end