Class: Composer

Inherits:
Object
  • Object
show all
Defined in:
lib/composer.rb

Class Method Summary collapse

Class Method Details

.convert_env_args_to_env_hash(args) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/composer.rb', line 30

def self.convert_env_args_to_env_hash(args)
    env_hash = {}

    # do first arg
    env_var = args[:env].split('=')
    env_hash[env_var[0].to_sym] = env_var[1]

    # do rest of args
    args.extras.each do |x|
        env_var = x.split('=')
        env_hash[env_var[0].to_sym] = env_var[1]
    end

    return env_hash
end

.development(data_container, env) ⇒ Object



3
4
5
6
7
8
# File 'lib/composer.rb', line 3

def self.development(data_container, env)
    puts '-- Installing Composer development dependencies'
    docker_command = self.get_docker_command(data_container, env) + 'install --verbose --profile'
    puts '---- Running: ' << docker_command
    fail 'Composer development installation failed' unless system docker_command
end

.get_docker_command(data_container, env) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
# File 'lib/composer.rb', line 18

def self.get_docker_command(data_container, env)
    puts '---- Launching Composer container'
    docker_env_vars = env.map{|k,v| "#{k}=#{v}"}.join(' --env ')
    docker_command = "docker run --rm --volumes-from #{data_container} "
    if docker_env_vars.length > 5
        docker_command << "--env #{docker_env_vars} "
    end
    docker_command << 'vjftw/composer '

    return docker_command
end

.production(data_container, env) ⇒ Object



10
11
12
13
14
15
# File 'lib/composer.rb', line 10

def self.production(data_container, env)
    puts '---- Installing Composer production dependencies'
    docker_command = self.get_docker_command(data_container, env) + 'install --no-dev --optimize-autoloader --no-interaction --verbose --profile'
    puts '---- Running: ' << docker_command
    fail 'Composer production installation failed' unless system docker_command
end