Class: RubyYacht::Database

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_yacht/dsl/database.rb

Overview

This class stores the configuration for a project's database server.

You can configure a database with RubyYacht::Database::DSL

Defined Under Namespace

Classes: DSL

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#container_labelObject

The database-specific part of the container name for this database.


22
23
24
# File 'lib/ruby_yacht/dsl/database.rb', line 22

def container_label
  @container_label
end

#hostObject

The host that the database server is accessed on.


7
8
9
# File 'lib/ruby_yacht/dsl/database.rb', line 7

def host
  @host
end

#nameObject

The name of the database


10
11
12
# File 'lib/ruby_yacht/dsl/database.rb', line 10

def name
  @name
end

#passwordObject

The password we use to connect to the database


19
20
21
# File 'lib/ruby_yacht/dsl/database.rb', line 19

def password
  @password
end

#server_typeObject

The type of database server we're using.


13
14
15
# File 'lib/ruby_yacht/dsl/database.rb', line 13

def server_type
  @server_type
end

#usernameObject

The username we use to connect to the database


16
17
18
# File 'lib/ruby_yacht/dsl/database.rb', line 16

def username
  @username
end

Instance Method Details

#container_name(project) ⇒ Object

This method gets the name of the container and image for this database.

This will be the project's prefix followed by the database's container label.


33
34
35
# File 'lib/ruby_yacht/dsl/database.rb', line 33

def container_name(project)
  "#{project.system_prefix}-#{container_label}"
end

#local?Boolean

Whether the database is running on the same machine as the app servers.


25
26
27
# File 'lib/ruby_yacht/dsl/database.rb', line 25

def local?
  host == 'localhost'
end