rubyonjets / jets

Ruby on Jets
http://rubyonjets.com
MIT License
2.6k stars 181 forks source link

jets deploy fails when project is created by job mode #270

Closed reverentF closed 5 years ago

reverentF commented 5 years ago

Checklist

My Environment

Software Version
Operating System OSX 10.14.4
Jets 1.9.6
Ruby 2.5.3

Expected Behaviour

$ jets new tiny-project --mode job
$ cd tiny-project
$ jets deploy

-> The project tiny-project is deployed to the AWS Lambda.

Current Behavior

Failed to deploy with this error message.

$ `require': cannot load such file -- path/to/tiny-project/config/routes.rb (LoadError)

Step-by-step reproduction instructions

-> I already shown it in Expected Behaviour section.

Code Sample

In the PR #264, the file existence check of routes.rb is deleted. https://github.com/tongueroo/jets/pull/264/files#diff-e7ac2e68b9550688c1c55dca13f7fab9L341

But, initializing a project in job mode (jets create tiny-project --mode job), routes.rb is not created.

Creating a new Jets project called tiny-project.
      create  tiny-project
      create  tiny-project/.env.development
      create  tiny-project/.env.test
      create  tiny-project/.env
      create  tiny-project/.gitignore
      create  tiny-project/.jetskeep
      create  tiny-project/Gemfile
      create  tiny-project/README.md
      create  tiny-project/Rakefile
      create  tiny-project/app/jobs/application_job.rb
      create  tiny-project/config/application.rb
      create  tiny-project/config/environments/development.rb
      create  tiny-project/config/environments/production.rb
      create  tiny-project/config/environments/test.rb

Therefore, when I create empty routes.rb or monkey-patch to Jets::Application#load_routes to check existing of routes.rb, deploying the project is succeed.

Solution Suggestion

  1. Creates empty routes.rb when initialize project in job mode.
  2. Check routes.rb existing in Jets::Application#load_routes.
tongueroo commented 5 years ago

Thanks for the detailed bug report. Fixed in #271. Released in v1.9.7