Class: EventSourceryGenerators::Generators::Project
- Inherits:
-
Thor::Group
- Object
- Thor::Group
- EventSourceryGenerators::Generators::Project
- Includes:
- Thor::Actions
- Defined in:
- lib/event_sourcery_generators/generators/project.rb
Class Method Summary collapse
Instance Method Summary collapse
- #add_readme ⇒ Object
- #run_setup_script ⇒ Object
- #setup_app ⇒ Object
- #setup_environment ⇒ Object
- #setup_processes_infrastructure ⇒ Object
- #setup_rspec ⇒ Object
- #setup_ruby_project ⇒ Object
- #setup_scripts ⇒ Object
Class Method Details
.source_root ⇒ Object
10 11 12 |
# File 'lib/event_sourcery_generators/generators/project.rb', line 10 def self.source_root File.join(File.dirname(__FILE__), 'templates', 'project') end |
Instance Method Details
#add_readme ⇒ Object
19 20 21 |
# File 'lib/event_sourcery_generators/generators/project.rb', line 19 def add_readme template('readme.md.tt', "#{project_name}/README.md") end |
#run_setup_script ⇒ Object
55 56 57 58 59 60 61 |
# File 'lib/event_sourcery_generators/generators/project.rb', line 55 def run_setup_script return if [:skip_setup] inside(project_name) do run('./script/setup') end end |
#setup_app ⇒ Object
23 24 25 26 27 28 29 |
# File 'lib/event_sourcery_generators/generators/project.rb', line 23 def setup_app template('server.rb.tt', "#{project_name}/app/web/server.rb") %w{aggregates commands events projections reactors}.each do |directory| create_file("#{project_name}/app/#{directory}/.gitkeep") end end |
#setup_environment ⇒ Object
31 32 33 |
# File 'lib/event_sourcery_generators/generators/project.rb', line 31 def setup_environment template('environment.rb.tt', "#{project_name}/config/environment.rb") end |
#setup_processes_infrastructure ⇒ Object
49 50 51 52 53 |
# File 'lib/event_sourcery_generators/generators/project.rb', line 49 def setup_processes_infrastructure template('Procfile.tt', "#{project_name}/Procfile") template('config.ru.tt', "#{project_name}/config.ru") template('app.json.tt', "#{project_name}/app.json") end |
#setup_rspec ⇒ Object
42 43 44 45 46 47 |
# File 'lib/event_sourcery_generators/generators/project.rb', line 42 def setup_rspec return if [:skip_tests] template('spec_helper.rb.tt', "#{project_name}/spec/spec_helper.rb") template('request_helpers.rb.tt', "#{project_name}/spec/support/request_helpers.rb") end |
#setup_ruby_project ⇒ Object
14 15 16 17 |
# File 'lib/event_sourcery_generators/generators/project.rb', line 14 def setup_ruby_project template('gemfile.tt', "#{project_name}/Gemfile") template('rakefile.tt', "#{project_name}/Rakefile") end |
#setup_scripts ⇒ Object
35 36 37 38 39 40 |
# File 'lib/event_sourcery_generators/generators/project.rb', line 35 def setup_scripts %w{server setup}.each do |script_name| template("script_#{script_name}.tt", "#{project_name}/script/#{script_name}") chmod("#{project_name}/script/#{script_name}", 0755) end end |