Class: Physique::SqlCmd::Config

Inherits:
Object
  • Object
show all
Extended by:
Albacore::ConfigDSL
Includes:
Albacore::CmdConfig, ToolLocator
Defined in:
lib/physique/tasks/sqlcmd.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from ToolLocator

#locate_tool, #lookup_tool, #register_tool, #which

Constructor Details

#initializeConfig

Returns a new instance of Config.



55
56
57
58
59
60
61
# 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

Instance Attribute Details

#command=(value) ⇒ Object (writeonly)

The sql command to execute



53
54
55
# File 'lib/physique/tasks/sqlcmd.rb', line 53

def command=(value)
  @command = value
end

#database_name=(value) ⇒ Object (writeonly)

The database name



47
48
49
# File 'lib/physique/tasks/sqlcmd.rb', line 47

def database_name=(value)
  @database_name = value
end

Instance Method Details

#continue_on_errorObject



67
68
69
# File 'lib/physique/tasks/sqlcmd.rb', line 67

def continue_on_error
  @continue_on_error = true
end

#optsObject

Raises:

  • (ArgumentError)


71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# 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) ⇒ Object



63
64
65
# File 'lib/physique/tasks/sqlcmd.rb', line 63

def set_variable(k, v)
  @variables[k] = v
end