class Sinatra::Rider::Generator

Public Class Methods

source_root() click to toggle source
# File lib/sinatra/rider/command.rb, line 74
def self.source_root
  File.dirname(__FILE__)
end

Public Instance Methods

new() click to toggle source
# File lib/sinatra/rider/command.rb, line 9
def new
  # generate application
end
prepare_app() click to toggle source
# File lib/sinatra/rider/command.rb, line 40
def prepare_app
  template('templates/console.tt', "#{path}/bin/console")
  system('chmod', '+x', "#{path}/bin/console")

  template('templates/user.tt', "#{path}/app/user.rb")
  template('templates/layout.erb', "#{path}/views/layout.erb")
  template('templates/navigation.erb', "#{path}/views/_navigation.erb")
  template('templates/index.erb', "#{path}/views/index.erb")
  create_file("#{path}/README.md") { "# #{path.capitalize}\n" }
end
prepare_assets() click to toggle source
# File lib/sinatra/rider/command.rb, line 51
def prepare_assets
  create_file "#{path}/assets/javascripts/application.js"

  create_file "#{path}/assets/stylesheets/vendor/.keep"
  create_file("#{path}/assets/stylesheets/base.scss") { "body {}" }
  template('templates/css.tt', "#{path}/assets/stylesheets/application.scss")
end
prepare_database() click to toggle source
# File lib/sinatra/rider/command.rb, line 27
def prepare_database
  template('templates/database.erb', "#{path}/config/database.yml")
  template('templates/users_migration.erb', "#{path}/db/migrate/1_create_users.rb")
end
prepare_dokku() click to toggle source
# File lib/sinatra/rider/command.rb, line 13
def prepare_dokku
  create_file("#{path}/CHECKS") { "/ #{path.capitalize}\n" }
  create_file("#{path}/DOKKU_SCALE") { "web=1\n" }
end
prepare_dotenv() click to toggle source
# File lib/sinatra/rider/command.rb, line 22
def prepare_dotenv
  create_file("#{path}/.env") { "SESSION_SECRET=super secret shh\n" }
  create_file("#{path}/.gitignore") { ".env\ntmp/\n" }
end
prepare_rack() click to toggle source
# File lib/sinatra/rider/command.rb, line 32
def prepare_rack
  template('templates/gemfile.tt', "#{path}/Gemfile")
  template('templates/procfile.tt', "#{path}/Procfile")
  template('templates/rakefile.tt', "#{path}/Rakefile")
  template('templates/rackup.tt', "#{path}/config.ru")
  template('templates/server.tt', "#{path}/server.rb")
end
prepare_ruby_version() click to toggle source
# File lib/sinatra/rider/command.rb, line 18
def prepare_ruby_version
  create_file("#{path}/.ruby-version") { "#{RUBY_VERSION}\n" }
end
prepare_working_directory() click to toggle source
# File lib/sinatra/rider/command.rb, line 59
def prepare_working_directory
  inside(path) do
    run('bundle install')
    run('bundle exec rake db:create db:migrate')
    run('git init')
    run('git add .')
    run('git commit -m "Initial Commit"')
  end

  run("cd #{path}")
  puts "You're all set up! Start your server like this:"
  puts "  bundle exec rackup config.ru"
  puts "\nYou can get setup with a user at http://localhost:9292/signup"
end