Module: Minke::Generators

Defined in:
lib/minke/generators/config.rb,
lib/minke/generators/register.rb,
lib/minke/generators/processor.rb,
lib/minke/generators/shell_script.rb,
lib/minke/generators/config_processor.rb,
lib/minke/generators/config_variables.rb

Defined Under Namespace

Classes: BuildCommands, BuildSettings, Config, ConfigProcessor, ConfigVariables, DockerSettings, GenerateSettings, Processor

Constant Summary collapse

SCRIPT =
<<-EOF
#!/bin/bash
DOCKER_SOCK="/var/run/docker.sock:/var/run/docker.sock"
BUNDLE_COMMAND="source /usr/local/rvm/scripts/rvm && bundle install -j3 && bundle update"
ERROR="Please specify a command e.g. ./minke.sh rake app:test"
COMMAND=""
NEW_UUID=$(base64 /dev/urandom | tr -d '/+' | head -c 32 | tr '[:upper:]' '[:lower:]')
GEMSET=$(<.ruby-gemset)
GEMSETFOLDER="/usr/local/rvm/gems/ruby-2.3.1@${GEMSET}"

if [ "$1" == '' ]; then
  echo $ERROR;
  exit 1;
fi

COMMAND=$*
DIR=$(dirname `pwd`)

echo "Running command: ${COMMAND}"

eval "docker network create minke_${NEW_UUID}"
eval "docker run --rm -it --net=minke_${NEW_UUID} -v ${DOCKER_SOCK} -v ${DIR}:${DIR} -v ${DIR}/_build/vendor/gems:${GEMSETFOLDER} -e DOCKER_NETWORK=minke_${NEW_UUID} -w ${DIR}/_build nicholasjackson/minke /bin/bash -c '${BUNDLE_COMMAND} && ${COMMAND}'"
eval "docker network rm minke_${NEW_UUID}"
EOF
@@registrations =
[]

Class Method Summary collapse

Class Method Details

.create_rvm_files(folder, application_name) ⇒ Object



33
34
35
36
# File 'lib/minke/generators/shell_script.rb', line 33

def create_rvm_files folder, application_name
  File.write("#{folder}.ruby-gemset", application_name)
  File.write("#{folder}.ruby-version", '2')
end

.get_registrationsObject



12
13
14
# File 'lib/minke/generators/register.rb', line 12

def get_registrations
  @@registrations
end

.register(config) ⇒ Object



5
6
7
8
9
10
# File 'lib/minke/generators/register.rb', line 5

def register config
  puts "registered #{config.name}"

  @@registrations.push(config)
  #puts "registered #{config.template_location}"
end

.write_bash_script(path) ⇒ Object



28
29
30
31
# File 'lib/minke/generators/shell_script.rb', line 28

def write_bash_script path
  File.write(path, SCRIPT)
  File.chmod(0755, path)
end