class Barebones::AppBuilder
Public Instance Methods
app()
click to toggle source
Calls superclass method
# File lib/barebones/builders/app_builder.rb, line 19 def app super keep_file "app/services" keep_file "app/decorators" template "barebones_decorator.rb.erb", "app/decorators/#{app_name.parameterize.underscore}_decorator.rb" end
config()
click to toggle source
Calls superclass method
# File lib/barebones/builders/app_builder.rb, line 27 def config super end
configure_active_job_for_resque()
click to toggle source
# File lib/barebones/builders/app_builder.rb, line 153 def configure_active_job_for_resque application_class_end_line = "#{spaces(2)}end\nend" inject_into_file "config/application.rb", before: application_class_end_line do "\n#{spaces(4)}# Set ActiveJob to use Resque\n"\ "#{spaces(4)}config.active_job.queue_adapter = :resque\n" end end
configure_active_job_for_sidekiq()
click to toggle source
# File lib/barebones/builders/app_builder.rb, line 162 def configure_active_job_for_sidekiq application_class_end_line = "#{spaces(2)}end\nend" inject_into_file "config/application.rb", before: application_class_end_line do "\n#{spaces(4)}# Set ActiveJob to use Sidekiq\n"\ "#{spaces(4)}config.active_job.queue_adapter = :sidekiq\n" end end
configure_carrierwave()
click to toggle source
# File lib/barebones/builders/app_builder.rb, line 191 def configure_carrierwave template "carrierwave.rb", "config/initializers/carrierwave.rb" end
configure_factory_girl()
click to toggle source
# File lib/barebones/builders/app_builder.rb, line 101 def configure_factory_girl application_class_end_line = "#{spaces(2)}end\nend" inject_into_file "config/application.rb", before: application_class_end_line do "\n#{spaces(4)}# Generate Factories instead of Fixtures\n"\ "#{spaces(4)}config.generators do |g|\n"\ "#{spaces(6)}g.factory_girl true\n"\ "#{spaces(4)}end\n" end class_end_line = "end\n" inject_into_file "test/test_helper.rb", after: class_end_line do "# Minitest does not provide a way to include or "\ "extend a module into every test class\n"\ "# without re-opening the test case class\n"\ "module Minitest\n"\ "#{spaces(2)}class Test\n"\ "#{spaces(4)}include FactoryGirl::Syntax::Methods\n"\ "#{spaces(2)}end\n"\ "end\n" end end
configure_minitest()
click to toggle source
# File lib/barebones/builders/app_builder.rb, line 125 def configure_minitest class_end_line = "#{spaces(2)}end\nend" inject_into_file "config/application.rb", before: class_end_line do "\n#{spaces(4)}# Auto generate test files\n"\ "#{spaces(4)}config.generators do |g|\n"\ "#{spaces(6)}g.test_framework :minitest, spec: true, fixture: false\n"\ "#{spaces(4)}end\n" end last_require = "require 'rails/test_help'\n" inject_into_file "test/test_helper.rb", after: last_require do "require 'minitest/reporters'\n"\ "require 'minitest/spec'\n"\ "require 'mocha/mini_test'\n"\ "# Require all support helpers\n"\ "Dir[Rails.root.join('test/support/**/*.rb')].each { |f| require f }\n"\ "\n"\ "Minitest::Reporters.use!(\n"\ "#{spaces(2)}Minitest::Reporters::DefaultReporter.new,\n"\ "#{spaces(2)}ENV,\n"\ "#{spaces(2)}Minitest.backtrace_filter\n"\ ")\n" end end
configure_puma()
click to toggle source
# File lib/barebones/builders/app_builder.rb, line 195 def configure_puma template "Procfile", "Procfile" template "puma.rb", "config/puma.rb", force: true end
configure_redis()
click to toggle source
# File lib/barebones/builders/app_builder.rb, line 171 def configure_redis template "redis.rb.erb", "config/initializers/redis.rb" end
configure_resque()
click to toggle source
# File lib/barebones/builders/app_builder.rb, line 175 def configure_resque template "resque.rb", "config/initializers/resque.rb" end
configure_sidekiq()
click to toggle source
# File lib/barebones/builders/app_builder.rb, line 179 def configure_sidekiq template "sidekiq.rb", "config/initializers/sidekiq.rb" end
create_api_configurations()
click to toggle source
# File lib/barebones/builders/app_builder.rb, line 72 def create_api_configurations empty_directory "app/views/api/v1/configs" template "configs_controller.rb", "app/controllers/api/v1/configs_controller.rb" template "config_ping.json.jbuilder", "app/views/api/v1/configs/ping.json.jbuilder" end
create_api_constraints()
click to toggle source
# File lib/barebones/builders/app_builder.rb, line 61 def create_api_constraints template "api_constraints.rb.erb", "lib/api_constraints.rb" end
create_api_layouts()
click to toggle source
# File lib/barebones/builders/app_builder.rb, line 78 def create_api_layouts empty_directory "app/views/layouts/api/v1" template "layout.json.jbuilder", "app/views/layouts/api/v1/application.json.jbuilder" empty_directory "app/views/api/v1/defaults" create_file "app/views/api/v1/defaults/default.json.jbuilder" end
create_api_v1_defaults()
click to toggle source
# File lib/barebones/builders/app_builder.rb, line 65 def create_api_v1_defaults empty_directory "app/controllers/api" empty_directory "app/controllers/api/v1" template "api_application_controller.rb", "app/controllers/api/v1/application_controller.rb" template "api_defaults_concern.rb", "app/controllers/concerns/api_defaults.rb" end
create_resque_rake_task()
click to toggle source
# File lib/barebones/builders/app_builder.rb, line 187 def create_resque_rake_task template "resque.rake", "lib/tasks/resque.rake" end
create_staging_environment()
click to toggle source
# File lib/barebones/builders/app_builder.rb, line 96 def create_staging_environment environment_path = "config/environments" run "cp #{environment_path}/development.rb #{environment_path}/staging.rb" end
create_test_job()
click to toggle source
# File lib/barebones/builders/app_builder.rb, line 183 def create_test_job template "test_job.rb", "app/jobs/test_job.rb" end
customize_routes()
click to toggle source
# File lib/barebones/builders/app_builder.rb, line 53 def customize_routes template "routes.rb.erb", "config/routes.rb", force: true end
customize_secrets()
click to toggle source
# File lib/barebones/builders/app_builder.rb, line 85 def customize_secrets template "secrets.yml.erb", "config/secrets.yml", force: true end
database_yml()
click to toggle source
# File lib/barebones/builders/app_builder.rb, line 31 def database_yml template "database.yml.erb", "config/database.yml" end
gemfile()
click to toggle source
# File lib/barebones/builders/app_builder.rb, line 10 def gemfile template "Gemfile.erb", "Gemfile" replace_regex_in_file("Gemfile", /\n{2,}/, "\n\n") end
gitignore()
click to toggle source
# File lib/barebones/builders/app_builder.rb, line 15 def gitignore template "barebones_gitignore", ".gitignore" end
raise_on_delivery_errors()
click to toggle source
# File lib/barebones/builders/app_builder.rb, line 89 def raise_on_delivery_errors file = "config/environments/development.rb" gsub_file file, "config.action_mailer.raise_delivery_errors = false" do |match| "config.action_mailer.raise_delivery_errors = true" end end
readme()
click to toggle source
Overrides
# File lib/barebones/builders/app_builder.rb, line 6 def readme template "README.md.erb", "README.md" end
set_gemset()
click to toggle source
# File lib/barebones/builders/app_builder.rb, line 40 def set_gemset create_file ".ruby-gemset", "#{app_name.parameterize.underscore}" end
set_ruby_version()
click to toggle source
Custom
# File lib/barebones/builders/app_builder.rb, line 36 def set_ruby_version create_file ".ruby-version", "#{Barebones::RUBY_VERSION}" end
setup_autoload_paths()
click to toggle source
# File lib/barebones/builders/app_builder.rb, line 44 def setup_autoload_paths application_class_end_line = "#{spaces(2)}end\nend" inject_into_file "config/application.rb", before: application_class_end_line do "\n#{spaces(4)}# Autoload 'lib' folder\n"\ "#{spaces(4)}config.autoload_paths += Dir[\"\#{config.root}/lib/**/\"]\n" end end
setup_oj()
click to toggle source
# File lib/barebones/builders/app_builder.rb, line 57 def setup_oj template "multi_json.rb", "config/initializers/multi_json.rb" end