Class: Orchestration::DockerCompose::ComposeConfiguration

Inherits:
Object
  • Object
show all
Defined in:
lib/orchestration/docker_compose/compose_configuration.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(env) ⇒ ComposeConfiguration

Returns a new instance of ComposeConfiguration.



16
17
18
# File 'lib/orchestration/docker_compose/compose_configuration.rb', line 16

def initialize(env)
  @env = env
end

Class Method Details

.database_adapter_nameObject



6
7
8
9
10
11
12
13
14
# File 'lib/orchestration/docker_compose/compose_configuration.rb', line 6

def self.database_adapter_name
  return nil unless defined?(ActiveRecord)
  return 'postgis' if defined?(::POSTGIS)
  return 'postgresql' if defined?(::PG)
  return 'mysql2' if defined?(::Mysql2)
  return 'sqlite3' if defined?(::SQLite3)

  nil
end

Instance Method Details

#database_adapterObject



28
29
30
31
32
33
34
35
36
37
38
# File 'lib/orchestration/docker_compose/compose_configuration.rb', line 28

def database_adapter
  return nil unless defined?(ActiveRecord)

  base = Orchestration::Services::Database::Adapters
  return base::Postgis.new if defined?(::PostGIS)
  return base::Postgresql.new if defined?(::PG)
  return base::Mysql2.new if defined?(::Mysql2)
  return base::Sqlite3.new if defined?(::SQLite3)

  nil
end

#database_adapter_nameObject



24
25
26
# File 'lib/orchestration/docker_compose/compose_configuration.rb', line 24

def database_adapter_name
  self.class.database_adapter_name
end

#local_port(name, remote_port = nil) ⇒ Object



40
41
42
43
44
45
46
47
48
49
# File 'lib/orchestration/docker_compose/compose_configuration.rb', line 40

def local_port(name, remote_port = nil)
  return nil unless listener?(name)
  return ports(name).first[:local].to_i if remote_port.nil?

  ports(name).find { |mapping| mapping[:remote].to_i == remote_port.to_i }
             .fetch(:local)
             .to_i
rescue NoMethodError
  nil
end

#servicesObject



20
21
22
# File 'lib/orchestration/docker_compose/compose_configuration.rb', line 20

def services
  config['services']
end