class Bearonrails::AppBuilder
Public Instance Methods
add_common_rake_tasks()
click to toggle source
# File lib/bearonrails/app_builder.rb, line 5 def add_common_rake_tasks directory 'tasks', 'lib/tasks' end
add_custom_gems()
click to toggle source
# File lib/bearonrails/app_builder.rb, line 13 def add_custom_gems additions_path = find_in_source_paths 'Gemfile_additions' new_gems = File.open(additions_path).read inject_into_file( 'Gemfile', "\n#{new_gems}", after: /^end/ ) end
add_dot_env()
click to toggle source
# File lib/bearonrails/app_builder.rb, line 37 def add_dot_env copy_file '.env', '.env' inject_into_file( 'config/application.rb', "Dotenv.load\n\n", before: /^module/ ) end
add_new_relic_config()
click to toggle source
# File lib/bearonrails/app_builder.rb, line 27 def add_new_relic_config copy_file 'config/newrelic.yml', 'config/newrelic.yml' replace_in_file( '.env', /change-this-to-your-app-name/m, "#{app_name}" ) end
add_rspec_helper_addon()
click to toggle source
# File lib/bearonrails/app_builder.rb, line 51 def add_rspec_helper_addon additions_path = find_in_source_paths 'spec/rails_helper_addon' addon_config = File.open(additions_path).read inject_into_file( 'spec/rails_helper.rb', "\n#{addon_config}", before: /^end/ ) end
add_rubocop_config()
click to toggle source
# File lib/bearonrails/app_builder.rb, line 23 def add_rubocop_config copy_file '.rubocop.yml', '.rubocop.yml' end
init_git()
click to toggle source
# File lib/bearonrails/app_builder.rb, line 9 def init_git run 'git init' end
install_rspec()
click to toggle source
# File lib/bearonrails/app_builder.rb, line 47 def install_rspec run 'bundle exec rails g rspec:install' end
remove_routes_comment_lines()
click to toggle source
# File lib/bearonrails/app_builder.rb, line 61 def remove_routes_comment_lines replace_in_file( 'config/routes.rb', /Rails\.application\.routes\.draw do.*end/m, "Rails.application.routes.draw do\nend" ) end
Private Instance Methods
replace_in_file(relative_path, find, replace)
click to toggle source
# File lib/bearonrails/app_builder.rb, line 71 def replace_in_file(relative_path, find, replace) path = File.join(destination_root, relative_path) contents = IO.read(path) unless contents.gsub!(find, replace) fail "#{find.inspect} not found in #{relative_path}" end File.open(path, 'w') { |file| file.write(contents) } end