class Dckerize::Generator
Attributes
name[RW]
Public Class Methods
new(name)
click to toggle source
# File lib/dckerize/generator.rb, line 4 def initialize(name) @name = name end
Public Instance Methods
get_binding()
click to toggle source
# File lib/dckerize/generator.rb, line 8 def get_binding binding end
templates()
click to toggle source
# File lib/dckerize/generator.rb, line 12 def templates Dckerize.templates end
up()
click to toggle source
# File lib/dckerize/generator.rb, line 16 def up raise Dckerize::Runner::DOCKERFILE_EXISTS if File.exists?('Dockerfile.development') raise Dckerize::Runner::DOCKERCOMPOSE_EXISTS if File.exists?('docker-compose.yml') create_from_template('Dockerfile.erb', 'Dockerfile.development') create_from_template('webapp.conf.erb', "webapp.conf") create_from_template('wait-for-postgres.sh.erb', "wait-for-postgres.sh") create_from_template('rails-env.conf.erb', "rails-env.conf") create_from_template('docker-compose.yml.erb', "docker-compose.yml") end
Private Instance Methods
create_from_template(template_name, output_file)
click to toggle source
# File lib/dckerize/generator.rb, line 29 def create_from_template(template_name, output_file) template = ERB.new(File.read("#{templates}/#{template_name}"), nil, '-') result = template.result(binding) File.open("#{output_file}", 'w') { |file| file.write(result) } # add execution permissions for setup.sh system "chmod +x #{output_file}" if output_file == 'wait-for-postgres.sh' end