class Topkit::AppBuilder

Public Instance Methods

add_to_git_ignore() click to toggle source
# File lib/topkit/app_builder.rb, line 107
def add_to_git_ignore
  concat_file 'topkit_gitignore', '.gitignore'
end
configure_rspec_generators() click to toggle source
# File lib/topkit/app_builder.rb, line 5
    def configure_rspec_generators
      config = <<-RUBY
    config.generators do |g|
      g.fixture true
      g.fixture_replacement "factory_girl"
      g.assets false
      g.test_framework :rspec
      g.view_specs false
      g.controller_specs false
      g.helper_specs false
      g.routing_specs false
      g.request_specs false
      g.stylesheets false
    end

      RUBY

      inject_into_class 'config/application.rb', 'Application', config
    end
create_application_layout() click to toggle source
# File lib/topkit/app_builder.rb, line 62
def create_application_layout
  remove_file "app/views/layouts/application.html.erb"
  copy_file "application_layout.html.erb", "app/views/layouts/application.html.erb", force: true
end
create_database() click to toggle source
# File lib/topkit/app_builder.rb, line 34
def create_database
  bundle_command "exec rake db:create"
end
create_partials_directory() click to toggle source
# File lib/topkit/app_builder.rb, line 52
def create_partials_directory
  empty_directory 'app/views/application'
end
create_status_partials() click to toggle source
# File lib/topkit/app_builder.rb, line 56
def create_status_partials
  copy_file '_status.html.erb', 'app/views/application/_status.html.erb'
  copy_file '_header.html.erb', 'app/views/application/_header.html.erb'
  copy_file '_footer.html.erb', 'app/views/application/_footer.html.erb'
end
enable_database_cleaner() click to toggle source
# File lib/topkit/app_builder.rb, line 79
def enable_database_cleaner
  replace_in_file 'spec/spec_helper.rb',
    'config.use_transactional_fixtures = true',
    'config.use_transactional_fixtures = false'

  copy_file 'database_cleaner_rspec.rb', 'spec/support/database_cleaner.rb'
end
generate_backbone() click to toggle source
# File lib/topkit/app_builder.rb, line 71
def generate_backbone
  generate "backbone:install"
end
generate_backtrace() click to toggle source
# File lib/topkit/app_builder.rb, line 75
def generate_backtrace
  download_file "https://gist.github.com/apcomplete/4113645/download", "vendor/assets/javascripts/backtrace.js"
end
generate_cucumber() click to toggle source
# File lib/topkit/app_builder.rb, line 99
def generate_cucumber
  generate 'cucumber:install', '--rspec', '--capybara'
end
generate_devise() click to toggle source
# File lib/topkit/app_builder.rb, line 92
def generate_devise
  generate "devise:install"
  generate "devise User"
  bundle_command "exec rake db:migrate"
  generate "devise:views"
end
generate_rspec() click to toggle source
# File lib/topkit/app_builder.rb, line 67
def generate_rspec
  generate 'rspec:install'
end
init_git() click to toggle source
# File lib/topkit/app_builder.rb, line 103
def init_git
  run 'git init'
end
remove_public_index() click to toggle source
# File lib/topkit/app_builder.rb, line 38
def remove_public_index
  remove_file 'public/index.html'
end
remove_rails_logo_image() click to toggle source
# File lib/topkit/app_builder.rb, line 42
def remove_rails_logo_image
  remove_file 'app/assets/images/rails.png'
end
remove_routes_comment_lines() click to toggle source
# File lib/topkit/app_builder.rb, line 46
def remove_routes_comment_lines
  replace_in_file 'config/routes.rb',
    /Application\.routes\.draw do.*end/m,
    "Application.routes.draw do\nend"
end
replace_gemfile() click to toggle source
# File lib/topkit/app_builder.rb, line 25
def replace_gemfile
  remove_file 'Gemfile'
  copy_file 'Gemfile_clean', 'Gemfile'
end
setup_stylesheets() click to toggle source
# File lib/topkit/app_builder.rb, line 87
def setup_stylesheets
  remove_file 'app/assets/stylesheets/application.css'
  create_file 'app/assets/stylesheets/application.css.scss'
end
template_database_file() click to toggle source
# File lib/topkit/app_builder.rb, line 30
def template_database_file
  template 'database.pg.yml.erb', 'config/database.yml', force: true
end