class DatacraftsIoSkeleton::RailsCreator
Responsible for the creation of rails projects.
Public Class Methods
new(app_name)
click to toggle source
Creates new instance of DatacraftsIoSkeleton::RailsCreator class with app_name which will be used during creation.
@param [String] app_name The name of app you are going to create.
Calls superclass method
# File lib/datacrafts_io_skeleton/rails_creator.rb, line 15 def initialize(app_name) super() @app_name = app_name end
Public Instance Methods
call()
click to toggle source
Creates new rails API app from predefined template. Copies rubocop and spec files to the new project.
# File lib/datacrafts_io_skeleton/rails_creator.rb, line 22 def call create_rails_api_app configure_rubocop update_spec_config run_rubocop commit_project say("Rails API part has built.", :green) end
Private Instance Methods
commit_project()
click to toggle source
# File lib/datacrafts_io_skeleton/rails_creator.rb, line 55 def commit_project append_to_file app(".gitignore"), "/.idea/" commit("Initial commit.") end
configure_rubocop()
click to toggle source
# File lib/datacrafts_io_skeleton/rails_creator.rb, line 39 def configure_rubocop template "rubocop.yml.erb", app(".rubocop.yml") end
create_rails_api_app()
click to toggle source
# File lib/datacrafts_io_skeleton/rails_creator.rb, line 35 def create_rails_api_app run "rails new #{@app_name} --database=postgresql --api -T -m #{TEMPLATES_DIR}/rails.rb" end
run_rubocop()
click to toggle source
# File lib/datacrafts_io_skeleton/rails_creator.rb, line 51 def run_rubocop run "cd #{app} && bundle exec rubocop -A" end
update_spec_config()
click to toggle source
# File lib/datacrafts_io_skeleton/rails_creator.rb, line 43 def update_spec_config remove_file app("spec/rails_helper.rb") copy_file "spec.rb", app("spec/rails_helper.rb") empty_directory app("spec/factories") empty_directory app("spec/models") empty_directory app("spec/controllers") end