Class: Database::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/capistrano-db-tasks/database.rb

Direct Known Subclasses

Local, Remote

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(cap_instance) ⇒ Base

Returns a new instance of Base.



4
5
6
# File 'lib/capistrano-db-tasks/database.rb', line 4

def initialize(cap_instance)
  @cap = cap_instance
end

Instance Attribute Details

#configObject

Returns the value of attribute config.



3
4
5
# File 'lib/capistrano-db-tasks/database.rb', line 3

def config
  @config
end

#output_fileObject

Returns the value of attribute output_file.



3
4
5
# File 'lib/capistrano-db-tasks/database.rb', line 3

def output_file
  @output_file
end

Instance Method Details

#credentialsObject



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/capistrano-db-tasks/database.rb', line 16

def credentials
  credential_params = ""
  username = @config['username'] || @config['user']

  if mysql?
    credential_params << " -u #{username} " if username
    credential_params << " -p'#{@config['password']}' " if @config['password']
    credential_params << " -h #{@config['host']} " if @config['host']
    credential_params << " -S #{@config['socket']} " if @config['socket']
    credential_params << " -P #{@config['port']} " if @config['port']
  elsif postgresql?
    credential_params << " -U #{username} " if username
    credential_params << " -h #{@config['host']} " if @config['host']
    credential_params << " -p #{@config['port']} " if @config['port']
  end

  credential_params
end

#current_timeObject



39
40
41
# File 'lib/capistrano-db-tasks/database.rb', line 39

def current_time
  Time.now.strftime("%Y-%m-%d-%H%M%S")
end

#databaseObject



35
36
37
# File 'lib/capistrano-db-tasks/database.rb', line 35

def database
  @config['database']
end

#mysql?Boolean

Returns:

  • (Boolean)


8
9
10
# File 'lib/capistrano-db-tasks/database.rb', line 8

def mysql?
  @config['adapter'] =~ /^mysql/
end

#pgpassObject



47
48
49
# File 'lib/capistrano-db-tasks/database.rb', line 47

def pgpass
  "PGPASSWORD='#{@config['password']}'" if @config['password']
end

#postgresql?Boolean

Returns:

  • (Boolean)


12
13
14
# File 'lib/capistrano-db-tasks/database.rb', line 12

def postgresql?
  %w(postgresql pg).include? @config['adapter']
end