Class: Bootstrappers::AppBuilder

Inherits:
Rails::AppBuilder
  • Object
show all
Includes:
Actions, LayoutActions
Defined in:
lib/bootstrappers/app_builder.rb

Instance Method Summary collapse

Methods included from LayoutActions

#add_bootstrap_js, #add_custom_gems, #create_application_layout, #create_common_javascripts, #create_common_partial, #create_common_stylesheets, #create_partials_directory, #customize_error_pages, #readme, #remove_public_index, #remove_rails_logo_image, #setup_root_route, #setup_stylesheets

Methods included from Actions

#action_mailer_host, #concat_file, #download_file, #replace_in_file

Instance Method Details

#add_common_method_to_application_controllerObject



84
85
86
# File 'lib/bootstrappers/app_builder.rb', line 84

def add_common_method_to_application_controller
  template 'application_controller_rb', 'app/controllers/application_controller.rb',:force => true
end

#add_common_rake_tasksObject



12
13
14
# File 'lib/bootstrappers/app_builder.rb', line 12

def add_common_rake_tasks
  directory 'tasks', 'lib/tasks'
end

#add_devise_gemObject



16
17
18
19
# File 'lib/bootstrappers/app_builder.rb', line 16

def add_devise_gem
  inject_into_file 'Gemfile', "\ngem 'devise', '3.0.2'",
  :after => /gem 'jquery-rails'/
end

#add_rvmrc_and_powrcObject



21
22
23
24
# File 'lib/bootstrappers/app_builder.rb', line 21

def add_rvmrc_and_powrc
  template "rc/.rvmrc", '.rvmrc', :force => true
  template "rc/.powrc", '.powrc', :force => true
end

#build_settings_from_configObject



73
74
75
76
77
78
# File 'lib/bootstrappers/app_builder.rb', line 73

def build_settings_from_config

  template 'setting.rb', 'app/models/setting.rb',:force => true
  template 'config_yml.erb', 'config/config.yml',:force => true
  template 'config_yml.erb', 'config/config.yml.example',:force => true
end

#create_capistrano_filesObject



26
27
28
29
30
31
# File 'lib/bootstrappers/app_builder.rb', line 26

def create_capistrano_files
  template 'capistrano/deploy_rb.erb', 'config/deploy.rb',:force => true
  template 'capistrano/Capfile', 'Capfile',:force => true
  empty_directory 'config/deploy'
  directory 'capistrano/deploy', 'config/deploy'
end

#create_databaseObject



33
34
35
# File 'lib/bootstrappers/app_builder.rb', line 33

def create_database
  bundle_command 'exec rake db:create'
end

#create_initializersObject



80
81
82
# File 'lib/bootstrappers/app_builder.rb', line 80

def create_initializers
  directory 'initializers', 'config/initializers'
end

#generate_auto_facebookObject



42
43
44
45
# File 'lib/bootstrappers/app_builder.rb', line 42

def generate_auto_facebook
  generate 'auto_facebook:user'
  generate 'auto_facebook:install'
end

#generate_deviseObject



37
38
39
40
# File 'lib/bootstrappers/app_builder.rb', line 37

def generate_devise
  generate 'devise:install'
  generate 'devise User'
end

#gitignore_filesObject



56
57
58
59
60
61
62
63
64
65
66
# File 'lib/bootstrappers/app_builder.rb', line 56

def gitignore_files
  concat_file 'bootstrappers_gitignore', '.gitignore'
  ['app/models',
   'app/assets/images',
   'app/views/pages',
   'db/migrate',
   'log',
  ].each do |dir|
    empty_directory_with_keep_file dir
  end
end

#init_gitObject



68
69
70
# File 'lib/bootstrappers/app_builder.rb', line 68

def init_git
  run "git init"
end

#insert_admin_method_to_userObject



47
48
49
50
# File 'lib/bootstrappers/app_builder.rb', line 47

def insert_admin_method_to_user
  inject_into_file 'app/models/user.rb',
    "\n\n  def admin?\n    Setting.admin_emails.include?(email)\n  end\n", :after => '# attr_accessible :title, :body'
end

#raise_delivery_errorsObject



8
9
10
# File 'lib/bootstrappers/app_builder.rb', line 8

def raise_delivery_errors
  replace_in_file 'config/environments/development.rb', 'raise_delivery_errors = false', 'raise_delivery_errors = true'
end

#remove_routes_comment_linesObject



89
90
91
# File 'lib/bootstrappers/app_builder.rb', line 89

def remove_routes_comment_lines
  replace_in_file 'config/routes.rb', /Application\.routes\.draw do.*end/m, "Application.routes.draw do\nend"
end

#replace_email_sender_for_deviseObject



52
53
54
# File 'lib/bootstrappers/app_builder.rb', line 52

def replace_email_sender_for_devise
  replace_in_file 'config/initializers/devise.rb', /config\.mailer_sender = \".+\"/ , "config.mailer_sender = Setting.email_sender"
end

#use_mysql_config_templateObject



93
94
95
# File 'lib/bootstrappers/app_builder.rb', line 93

def use_mysql_config_template
  template 'mysql_database.yml.erb', 'config/database.yml.example', :force => true
end