class Utter::Generators::Container

Public Instance Methods

create_container(params={}) click to toggle source
# File lib/generators/project_container_gem_generator.rb, line 10
      def create_container params={}
        path = params[:path]
        module_name = params[:module_name]
        api_version = params[:api_version]
        service_name = params[:service_name]

        # config.ru
        @file = <<-FOO
Dir[File.dirname(__FILE__) + '/microservice/**/*.rb'].each {|file| require_relative file }
Dir[File.dirname(__FILE__) + '/domain/**/*.rb'].each {|file| require_relative file }
map "/" do
  run #{module_name.capitalize}::#{api_version.capitalize}::#{service_name.capitalize}
end
        FOO
        create_file "#{path}/config.ru"
        append_to_file "#{path}/config.ru", @file
        # end of config.ru
        ############################
        # Gemfile
        @file = <<-FOO
source 'https://rubygems.org'
gem 'utter'
        FOO
        create_file "#{path}/Gemfile"
        append_to_file "#{path}/Gemfile", @file
        # end of Gemfile
        ############################
        # Dockerfile
        @file = <<-FOO
Docker stuff here
        FOO
        create_file "#{path}/Dockerfile"
        append_to_file "#{path}/Dockerfile", @file
        # end of Dockerfile
        ############################
        # README.md for the utter container
        @file = <<-FOO
Abou this utter project. 1.Microservice 2.Domain
        FOO
        create_file "#{path}/README.md"
        append_to_file "#{path}/README.md", @file
        # end of README.md
        ############################
        # Log for the utter container
        @file = <<-FOO
Abou this log directory 
        FOO
        empty_directory "#{path}/log"
        create_file    "#{path}/log/README.md"
        append_to_file "#{path}/log/README.md", @file
        # end of log
        ############################
        #TODO container_name.gemspec
      end