class Natra::Generators::AppGenerator
Public Class Methods
source_root()
click to toggle source
# File lib/natra/generators/app/app_generator.rb, line 20 def self.source_root File.expand_path(File.join(File.dirname(__FILE__), 'templates')) end
Public Instance Methods
create_app_directory()
click to toggle source
# File lib/natra/generators/app/app_generator.rb, line 47 def create_app_directory %w[app/controllers app/views app/models].each {|dir| directory dir, File.join(@app_path, dir)} end
create_app_spec()
click to toggle source
# File lib/natra/generators/app/app_generator.rb, line 51 def create_app_spec template 'spec/application_controller_spec.rb', File.join(@app_path, 'spec/application_controller_spec.rb') end
create_capistrano_config()
click to toggle source
# File lib/natra/generators/app/app_generator.rb, line 119 def create_capistrano_config inside(@app_path) { run('cap install') } if @capistrano end
create_config()
click to toggle source
# File lib/natra/generators/app/app_generator.rb, line 59 def create_config template 'config.ru', File.join(@app_path, 'config.ru') end
create_db_config()
click to toggle source
# File lib/natra/generators/app/app_generator.rb, line 75 def create_db_config template('config/database.yml', File.join(@app_path, 'config/database.yml')) end
create_docker()
click to toggle source
# File lib/natra/generators/app/app_generator.rb, line 99 def create_docker copy_file 'Dockerfile', File.join(@app_path, 'Dockerfile') end
create_docker_compose()
click to toggle source
# File lib/natra/generators/app/app_generator.rb, line 103 def create_docker_compose template('docker-compose.yml', File.join(@app_path, 'docker-compose.yml')) end
create_empty_directories()
click to toggle source
# File lib/natra/generators/app/app_generator.rb, line 24 def create_empty_directories %w[config/initializers lib spec].each {|dir| empty_directory File.join(@app_path, dir)} empty_directory File.join(@app_path, 'db/migrate') create_file File.join(@app_path, 'lib', '.keep') template 'config/environment.rb', File.join(@app_path, 'config/environment.rb') end
create_gemfile()
click to toggle source
# File lib/natra/generators/app/app_generator.rb, line 63 def create_gemfile template 'Gemfile', File.join(@app_path, 'Gemfile') end
create_gitignore()
click to toggle source
# File lib/natra/generators/app/app_generator.rb, line 87 def create_gitignore copy_file 'gitignore', File.join(@app_path, '.gitignore') end
create_guardfile()
click to toggle source
# File lib/natra/generators/app/app_generator.rb, line 107 def create_guardfile copy_file 'Guardfile', File.join(@app_path, 'Guardfile') end
create_public_directory()
click to toggle source
# File lib/natra/generators/app/app_generator.rb, line 43 def create_public_directory template 'public/favicon.ico', File.join(@app_path, 'public/favicon.ico') end
create_rakefile()
click to toggle source
# File lib/natra/generators/app/app_generator.rb, line 67 def create_rakefile template 'Rakefile', File.join(@app_path, 'Rakefile') end
create_readme()
click to toggle source
# File lib/natra/generators/app/app_generator.rb, line 71 def create_readme template('README.md', File.join(@app_path, 'README.md')) end
create_redis_config()
click to toggle source
# File lib/natra/generators/app/app_generator.rb, line 79 def create_redis_config copy_file('config/redis.yml', File.join(@app_path, 'config/redis.yml')) if @redis end
create_redis_initializer()
click to toggle source
# File lib/natra/generators/app/app_generator.rb, line 83 def create_redis_initializer template('config/initializers/redis.rb', File.join(@app_path, 'config/initializers/redis.rb')) if @redis end
create_rspec()
click to toggle source
# File lib/natra/generators/app/app_generator.rb, line 91 def create_rspec copy_file 'rspec', File.join(@app_path, '.rspec') end
create_rubocop()
click to toggle source
# File lib/natra/generators/app/app_generator.rb, line 95 def create_rubocop copy_file 'rubocop.yml', File.join(@app_path, '.rubocop.yml') end
create_rvm_gemset()
click to toggle source
# File lib/natra/generators/app/app_generator.rb, line 123 def create_rvm_gemset if @rvm create_file(File.join(@app_path, '.ruby-version'), 'ruby-2.1.0') create_file(File.join(@app_path, '.ruby-gemset'), @app_path) @bundle = false puts "You need to run 'bundle install' manually." end end
create_secrets()
click to toggle source
# File lib/natra/generators/app/app_generator.rb, line 115 def create_secrets template('secrets.env', File.join(@app_path, 'secrets.env')) end
create_seeds_file()
click to toggle source
# File lib/natra/generators/app/app_generator.rb, line 31 def create_seeds_file create_file File.join(@app_path, 'db', 'seeds.rb') end
create_spec_helper()
click to toggle source
# File lib/natra/generators/app/app_generator.rb, line 55 def create_spec_helper template 'spec/spec_helper.rb', File.join(@app_path, 'spec/spec_helper.rb') end
create_spec_support()
click to toggle source
# File lib/natra/generators/app/app_generator.rb, line 111 def create_spec_support create_file File.join(@app_path, 'spec/support/', '.keep') end
initialize_app()
click to toggle source
# File lib/natra/generators/app/app_generator.rb, line 141 def initialize_app system <<~SCRIPT cd #{@app_path} #{'chmod +x bin/setup'} git init git add . docker-compose build --pull SCRIPT end
initialize_db()
click to toggle source
# File lib/natra/generators/app/app_generator.rb, line 35 def initialize_db copy_file('bin/setup', File.join(@app_path, 'bin/setup')) end
initialize_git_repo()
click to toggle source
# File lib/natra/generators/app/app_generator.rb, line 133 def initialize_git_repo inside(@app_path) { run('git init .') if @git } end
install_dependencies()
click to toggle source
# File lib/natra/generators/app/app_generator.rb, line 137 def install_dependencies inside(@app_path) { run('bundle') if @bundle } end
setup()
click to toggle source
# File lib/natra/generators/app/app_generator.rb, line 14 def setup @app_path = name.directory_name @name = name.file_name options.each { |key, value| instance_variable_set "@#{key}".to_sym, value } end
uuid_setup()
click to toggle source
# File lib/natra/generators/app/app_generator.rb, line 39 def uuid_setup template 'db/migrate/add_extensions.rb', File.join(@app_path, "db/migrate/#{Time.now.strftime('%Y%m%d')}0000_add_extensions.rb") end