welaika-suspenders 2.27.0 → 2.28.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/NEWS.md +27 -0
- data/lib/suspenders/actions.rb +6 -1
- data/lib/suspenders/adapters/heroku.rb +9 -0
- data/lib/suspenders/app_builder.rb +21 -20
- data/lib/suspenders/generators/app_generator.rb +8 -17
- data/lib/suspenders/generators/enforce_ssl_generator.rb +12 -0
- data/lib/suspenders/generators/initialize_active_job_generator.rb +19 -0
- data/lib/suspenders/version.rb +2 -2
- data/lib/suspenders.rb +2 -0
- data/spec/features/heroku_spec.rb +4 -8
- data/spec/features/new_project_spec.rb +22 -9
- data/spec/support/suspenders.rb +1 -1
- data/templates/Gemfile.erb +2 -5
- data/templates/Procfile +1 -1
- data/templates/action_mailer.rb +1 -1
- data/templates/active_job.rb +13 -0
- data/templates/bin_deploy +1 -1
- data/templates/bin_setup +7 -3
- data/templates/bin_setup_review_app.erb +1 -1
- data/templates/bundler_audit.rake +1 -1
- data/templates/database_cleaner_rspec.rb +3 -3
- data/templates/postgresql_database.yml.erb +0 -2
- data/templates/rubocop.yml +4 -0
- data/templates/secrets.yml +1 -7
- data/templates/suspenders_gitignore +4 -3
- data/templates/suspenders_layout.html.slim +1 -1
- metadata +8 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fb58f9064558206c892628144c70454883cb9d5a
|
4
|
+
data.tar.gz: be931d3210db58476f0b83f9cdad1f7657cb0948
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e7ea1c8aa4ccbca4a1452b6dad622b280e4ea73d14b025f978b052577e2425e02bf9158aada3f1b21743f81917c725d54b7bdb9814422ec40dbf00242ea0c7af
|
7
|
+
data.tar.gz: 3e4b7a2fb33324933a13a5014c900b8effe9979d148d458cbdc0047418b11aadb38ff315e66fd8c31a05276f720f5775b7a096dc3fd0af59bc3fa6609f2582d7
|
data/NEWS.md
CHANGED
@@ -1,3 +1,30 @@
|
|
1
|
+
1.45.0 (September 8, 2017)
|
2
|
+
|
3
|
+
* Bump Rails to 5.1.3 (#857)
|
4
|
+
* Configure HONEYBADGER_ENV for staging, production (#861)
|
5
|
+
* Remove vestigial `staging` references (#860)
|
6
|
+
* Prevent memory bloat in ActiveJob children (#856)
|
7
|
+
* .git/safe is opt-in (#837)
|
8
|
+
* Enforce SSL in production environment (#855)
|
9
|
+
* Configures action mailer asset host (#853)
|
10
|
+
* Install normalize.css via yarn (#851)
|
11
|
+
* Update Rails to 5.1 (#847)
|
12
|
+
* Update bourbon from 5.0.0.beta.7 to 5.0.0.beta.8 (#848)
|
13
|
+
* Update Neat to 2.1 (#849)
|
14
|
+
* Update Bitters to 1.7 (#850)
|
15
|
+
* Fix incorrect Timecop link (#845)
|
16
|
+
* Update Ruby to 2.4.1 (#841)
|
17
|
+
* Update rspec-rails to 3.6 (#842)
|
18
|
+
* Configure TimeCop safe mode (#840)
|
19
|
+
* Pull normalize.css through Rails Assets (#839)
|
20
|
+
* Fix fatal git failures in tests (#832)
|
21
|
+
* Schedule Heroku Backups and Capture backup of existing staging database for
|
22
|
+
Review Apps (#826)
|
23
|
+
* Use bundle-audit rake task from the gem (#831)
|
24
|
+
* Update thoughtbot logo (#829)
|
25
|
+
* Change terminal symbol in README's deploying section (#828)
|
26
|
+
* Update Segment snippet to 4.0.0 (#822)
|
27
|
+
|
1
28
|
1.44.0 (January 25, 2017)
|
2
29
|
|
3
30
|
* Improve readability of `bin/setup-review-app` (#819)
|
data/lib/suspenders/actions.rb
CHANGED
@@ -14,6 +14,11 @@ module Suspenders
|
|
14
14
|
configure_environment(rails_env, config)
|
15
15
|
end
|
16
16
|
|
17
|
+
def action_mailer_asset_host(rails_env, host)
|
18
|
+
config = "config.action_mailer.asset_host = #{host}"
|
19
|
+
configure_environment(rails_env, config)
|
20
|
+
end
|
21
|
+
|
17
22
|
def configure_application_file(config)
|
18
23
|
inject_into_file(
|
19
24
|
"config/application.rb",
|
@@ -25,7 +30,7 @@ module Suspenders
|
|
25
30
|
def configure_environment(rails_env, config)
|
26
31
|
inject_into_file(
|
27
32
|
"config/environments/#{rails_env}.rb",
|
28
|
-
"\n
|
33
|
+
"\n #{config}",
|
29
34
|
before: "\nend"
|
30
35
|
)
|
31
36
|
end
|
@@ -37,6 +37,15 @@ module Suspenders
|
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
40
|
+
def set_heroku_honeybadger_env
|
41
|
+
%w(staging production).each do |environment|
|
42
|
+
run_toolbelt_command(
|
43
|
+
"config:add HONEYBADGER_ENV=#{environment}",
|
44
|
+
environment,
|
45
|
+
)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
40
49
|
def set_heroku_backup_schedule
|
41
50
|
%w(staging production).each do |environment|
|
42
51
|
run_toolbelt_command(
|
@@ -5,16 +5,19 @@ module Suspenders
|
|
5
5
|
include Suspenders::Actions
|
6
6
|
extend Forwardable
|
7
7
|
|
8
|
-
def_delegators
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
8
|
+
def_delegators(
|
9
|
+
:heroku_adapter,
|
10
|
+
:create_heroku_application_manifest_file,
|
11
|
+
:create_heroku_pipeline,
|
12
|
+
:create_production_heroku_app,
|
13
|
+
:create_review_apps_setup_script,
|
14
|
+
:create_staging_heroku_app,
|
15
|
+
:set_heroku_application_host,
|
16
|
+
:set_heroku_backup_schedule,
|
17
|
+
:set_heroku_honeybadger_env,
|
18
|
+
:set_heroku_rails_secrets,
|
19
|
+
:set_heroku_remotes,
|
20
|
+
)
|
18
21
|
|
19
22
|
def readme
|
20
23
|
template 'README.md.erb', 'README.md'
|
@@ -152,11 +155,7 @@ module Suspenders
|
|
152
155
|
config.middleware.use Rack::CanonicalHost, ENV.fetch("APPLICATION_HOST")
|
153
156
|
RUBY
|
154
157
|
|
155
|
-
|
156
|
-
"config/environments/production.rb",
|
157
|
-
config,
|
158
|
-
after: "Rails.application.configure do",
|
159
|
-
)
|
158
|
+
configure_environment "production", config
|
160
159
|
end
|
161
160
|
|
162
161
|
def enable_rack_deflater
|
@@ -222,7 +221,7 @@ config.public_file_server.headers = {
|
|
222
221
|
end
|
223
222
|
|
224
223
|
def create_database
|
225
|
-
bundle_command
|
224
|
+
bundle_command "exec rails db:create db:migrate"
|
226
225
|
end
|
227
226
|
|
228
227
|
def replace_gemfile(path)
|
@@ -330,8 +329,14 @@ Rack::Timeout.timeout = (ENV["RACK_TIMEOUT"] || 10).to_i
|
|
330
329
|
|
331
330
|
def configure_action_mailer
|
332
331
|
action_mailer_host "development", %{"localhost:3000"}
|
332
|
+
action_mailer_asset_host "development", %{"http://localhost:3000"}
|
333
333
|
action_mailer_host "test", %{"www.example.com"}
|
334
|
+
action_mailer_asset_host "test", %{"http://www.example.com"}
|
334
335
|
action_mailer_host "production", %{ENV.fetch("APPLICATION_HOST")}
|
336
|
+
action_mailer_asset_host(
|
337
|
+
"production",
|
338
|
+
%{ENV.fetch("ASSET_HOST", ENV.fetch("APPLICATION_HOST"))},
|
339
|
+
)
|
335
340
|
end
|
336
341
|
|
337
342
|
def configure_active_job
|
@@ -380,10 +385,6 @@ Rack::Timeout.timeout = (ENV["RACK_TIMEOUT"] || 10).to_i
|
|
380
385
|
directory("dotfiles", ".")
|
381
386
|
end
|
382
387
|
|
383
|
-
def init_git
|
384
|
-
run 'git init'
|
385
|
-
end
|
386
|
-
|
387
388
|
def create_heroku_apps(flags)
|
388
389
|
create_staging_heroku_app(flags)
|
389
390
|
create_production_heroku_app(flags)
|
@@ -26,11 +26,11 @@ module Suspenders
|
|
26
26
|
class_option :skip_test, type: :boolean, default: true,
|
27
27
|
desc: "Skip Test Unit"
|
28
28
|
|
29
|
-
class_option :skip_system_test,
|
30
|
-
|
29
|
+
class_option :skip_system_test,
|
30
|
+
type: :boolean, default: true, desc: "Skip system test files"
|
31
31
|
|
32
|
-
class_option :skip_turbolinks,
|
33
|
-
|
32
|
+
class_option :skip_turbolinks,
|
33
|
+
type: :boolean, default: true, desc: "Skip turbolinks gem"
|
34
34
|
|
35
35
|
def finish_template
|
36
36
|
invoke :suspenders_customization
|
@@ -56,7 +56,7 @@ module Suspenders
|
|
56
56
|
invoke :setup_spring
|
57
57
|
invoke :create_binstubs
|
58
58
|
invoke :generate_default
|
59
|
-
invoke :
|
59
|
+
invoke :setup_default_directories
|
60
60
|
invoke :outro
|
61
61
|
end
|
62
62
|
|
@@ -152,14 +152,6 @@ module Suspenders
|
|
152
152
|
build :setup_rack_mini_profiler
|
153
153
|
end
|
154
154
|
|
155
|
-
def setup_git
|
156
|
-
if !options[:skip_git]
|
157
|
-
say "Initializing git"
|
158
|
-
invoke :setup_default_directories
|
159
|
-
invoke :init_git
|
160
|
-
end
|
161
|
-
end
|
162
|
-
|
163
155
|
def create_local_heroku_setup
|
164
156
|
say "Creating local Heroku setup"
|
165
157
|
build :create_review_apps_setup_script
|
@@ -174,6 +166,7 @@ module Suspenders
|
|
174
166
|
build :set_heroku_remotes
|
175
167
|
build :set_heroku_rails_secrets
|
176
168
|
build :set_heroku_application_host
|
169
|
+
build :set_heroku_honeybadger_env
|
177
170
|
build :set_heroku_backup_schedule
|
178
171
|
build :create_heroku_pipeline
|
179
172
|
build :configure_automatic_deployment
|
@@ -198,10 +191,6 @@ module Suspenders
|
|
198
191
|
build :create_binstubs
|
199
192
|
end
|
200
193
|
|
201
|
-
def init_git
|
202
|
-
build :init_git
|
203
|
-
end
|
204
|
-
|
205
194
|
def copy_miscellaneous_files
|
206
195
|
say 'Copying miscellaneous support files'
|
207
196
|
build :copy_miscellaneous_files
|
@@ -222,6 +211,8 @@ module Suspenders
|
|
222
211
|
|
223
212
|
def generate_default
|
224
213
|
run("spring stop")
|
214
|
+
generate("suspenders:initialize_active_job")
|
215
|
+
generate("suspenders:enforce_ssl")
|
225
216
|
generate("suspenders:static")
|
226
217
|
generate("suspenders:stylesheet_base")
|
227
218
|
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require "rails/generators"
|
2
|
+
require_relative "../actions"
|
3
|
+
|
4
|
+
module Suspenders
|
5
|
+
class EnforceSslGenerator < Rails::Generators::Base
|
6
|
+
include Suspenders::Actions
|
7
|
+
|
8
|
+
def enforce_ssl
|
9
|
+
configure_environment "production", "config.force_ssl = true"
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require "rails/generators"
|
2
|
+
|
3
|
+
module Suspenders
|
4
|
+
class InitializeActiveJobGenerator < Rails::Generators::Base
|
5
|
+
source_root(
|
6
|
+
File.expand_path(
|
7
|
+
File.join("..", "..", "..", "templates"),
|
8
|
+
File.dirname(__FILE__),
|
9
|
+
),
|
10
|
+
)
|
11
|
+
|
12
|
+
def initialize_active_job
|
13
|
+
copy_file(
|
14
|
+
"active_job.rb",
|
15
|
+
"config/initializers/active_job.rb",
|
16
|
+
)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/lib/suspenders/version.rb
CHANGED
data/lib/suspenders.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
require 'suspenders/version'
|
2
2
|
require 'suspenders/generators/app_generator'
|
3
|
+
require "suspenders/generators/enforce_ssl_generator"
|
4
|
+
require "suspenders/generators/initialize_active_job_generator"
|
3
5
|
require 'suspenders/generators/static_generator'
|
4
6
|
require 'suspenders/generators/stylesheet_base_generator'
|
5
7
|
require 'suspenders/actions'
|
@@ -18,14 +18,10 @@ RSpec.describe "Heroku" do
|
|
18
18
|
"production",
|
19
19
|
"SECRET_KEY_BASE",
|
20
20
|
)
|
21
|
-
|
22
|
-
"
|
23
|
-
"
|
24
|
-
|
25
|
-
expect(FakeHeroku).to have_configured_vars(
|
26
|
-
"production",
|
27
|
-
"APPLICATION_HOST",
|
28
|
-
)
|
21
|
+
%w(staging production).each do |env|
|
22
|
+
expect(FakeHeroku).to have_configured_vars(env, "APPLICATION_HOST")
|
23
|
+
expect(FakeHeroku).to have_configured_vars(env, "HONEYBADGER_ENV")
|
24
|
+
end
|
29
25
|
expect(FakeHeroku).to have_setup_pipeline_for(app_name)
|
30
26
|
|
31
27
|
bin_setup_path = "#{project_path}/bin/setup"
|
@@ -32,7 +32,7 @@ RSpec.describe "Suspend a new project with default configuration" do
|
|
32
32
|
it "includes the bundle:audit task" do
|
33
33
|
Dir.chdir(project_path) do
|
34
34
|
Bundler.with_clean_env do
|
35
|
-
expect(`
|
35
|
+
expect(`rails -T`).to include("rails bundle:audit")
|
36
36
|
end
|
37
37
|
end
|
38
38
|
end
|
@@ -102,6 +102,11 @@ RSpec.describe "Suspend a new project with default configuration" do
|
|
102
102
|
expect(env).to include "RACK_MINI_PROFILER=0"
|
103
103
|
end
|
104
104
|
|
105
|
+
it "initializes ActiveJob to avoid memory bloat" do
|
106
|
+
expect(File).
|
107
|
+
to exist("#{project_path}/config/initializers/active_job.rb")
|
108
|
+
end
|
109
|
+
|
105
110
|
it "creates a rack-mini-profiler initializer" do
|
106
111
|
expect(File).
|
107
112
|
to exist("#{project_path}/config/initializers/rack_mini_profiler.rb")
|
@@ -140,6 +145,12 @@ RSpec.describe "Suspend a new project with default configuration" do
|
|
140
145
|
)
|
141
146
|
end
|
142
147
|
|
148
|
+
it "configures production environment to enforce SSL" do
|
149
|
+
expect(production_config).to match(
|
150
|
+
/^ +config.force_ssl = true/,
|
151
|
+
)
|
152
|
+
end
|
153
|
+
|
143
154
|
it "raises on missing translations in development and test" do
|
144
155
|
[development_config, test_config].each do |environment_file|
|
145
156
|
expect(environment_file).to match(
|
@@ -169,6 +180,13 @@ RSpec.describe "Suspend a new project with default configuration" do
|
|
169
180
|
expect(spec_helper_file).to match(/^SimpleCov.start 'rails' do$/)
|
170
181
|
end
|
171
182
|
|
183
|
+
it "sets action mailer default host and asset host" do
|
184
|
+
config_key = 'config\.action_mailer\.asset_host'
|
185
|
+
config_value =
|
186
|
+
%q{ENV\.fetch\("ASSET_HOST", ENV\.fetch\("APPLICATION_HOST"\)\)}
|
187
|
+
expect(production_config).to match(/#{config_key} = #{config_value}/)
|
188
|
+
end
|
189
|
+
|
172
190
|
it "uses APPLICATION_HOST, not HOST in the production config" do
|
173
191
|
expect(production_config).to match(/"APPLICATION_HOST"/)
|
174
192
|
expect(production_config).not_to match(/"HOST"/)
|
@@ -180,12 +198,6 @@ RSpec.describe "Suspend a new project with default configuration" do
|
|
180
198
|
to match(/RecipientInterceptor.new\(ENV\["EMAIL_RECIPIENTS"\]\)/)
|
181
199
|
end
|
182
200
|
|
183
|
-
it "configures language in html element" do
|
184
|
-
layout_path = "/app/views/layouts/application.html.slim"
|
185
|
-
layout_file = IO.read("#{project_path}#{layout_path}")
|
186
|
-
expect(layout_file).to match(/html lang="it"/)
|
187
|
-
end
|
188
|
-
|
189
201
|
it "configs active job queue adapter" do
|
190
202
|
application_config = IO.read("#{project_path}/config/application.rb")
|
191
203
|
|
@@ -253,7 +265,8 @@ RSpec.describe "Suspend a new project with default configuration" do
|
|
253
265
|
|
254
266
|
expect(bin_setup).to include("PARENT_APP_NAME=#{app_name.dasherize}-staging")
|
255
267
|
expect(bin_setup).to include("APP_NAME=#{app_name.dasherize}-staging-pr-$1")
|
256
|
-
expect(bin_setup).
|
268
|
+
expect(bin_setup).
|
269
|
+
to include("heroku run rails db:migrate --exit-code --app $APP_NAME")
|
257
270
|
expect(bin_setup).to include("heroku ps:scale worker=1 --app $APP_NAME")
|
258
271
|
expect(bin_setup).to include("heroku restart --app $APP_NAME")
|
259
272
|
|
@@ -264,7 +277,7 @@ RSpec.describe "Suspend a new project with default configuration" do
|
|
264
277
|
bin_deploy_path = "#{project_path}/bin/deploy"
|
265
278
|
bin_deploy = IO.read(bin_deploy_path)
|
266
279
|
|
267
|
-
expect(bin_deploy).to include("heroku run
|
280
|
+
expect(bin_deploy).to include("heroku run rails db:migrate --exit-code")
|
268
281
|
expect(File.stat(bin_deploy_path)).to be_executable
|
269
282
|
end
|
270
283
|
|
data/spec/support/suspenders.rb
CHANGED
data/templates/Gemfile.erb
CHANGED
@@ -37,6 +37,7 @@ gem "welaika-suspenders"
|
|
37
37
|
group :development do
|
38
38
|
gem "letter_opener"
|
39
39
|
gem "listen", ">= 3.0.5", "< 3.2"
|
40
|
+
gem "rack-mini-profiler", require: false
|
40
41
|
gem "spring"
|
41
42
|
gem "spring-commands-rspec"
|
42
43
|
gem "spring-watcher-listen", "~> 2.0.0"
|
@@ -60,10 +61,6 @@ group :development, :test do
|
|
60
61
|
gem "slim_lint", require: false
|
61
62
|
end
|
62
63
|
|
63
|
-
group :development, :staging do
|
64
|
-
gem "rack-mini-profiler", require: false
|
65
|
-
end
|
66
|
-
|
67
64
|
group :test do
|
68
65
|
gem "capybara"
|
69
66
|
gem "database_cleaner"
|
@@ -75,6 +72,6 @@ group :test do
|
|
75
72
|
gem "webmock"
|
76
73
|
end
|
77
74
|
|
78
|
-
group :
|
75
|
+
group :production do
|
79
76
|
gem "rack-timeout"
|
80
77
|
end
|
data/templates/Procfile
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
web: bundle exec puma -p $PORT -C ./config/puma.rb
|
2
|
-
worker: bundle exec
|
2
|
+
worker: bundle exec rails jobs:work
|
data/templates/action_mailer.rb
CHANGED
@@ -0,0 +1,13 @@
|
|
1
|
+
require "active_job/logging"
|
2
|
+
|
3
|
+
ActiveSupport::Notifications.unsubscribe("enqueue.active_job")
|
4
|
+
|
5
|
+
module ActiveJob
|
6
|
+
module Logging
|
7
|
+
class EnqueueLogSubscriber < LogSubscriber
|
8
|
+
define_method :enqueue, instance_method(:enqueue)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
ActiveJob::Logging::EnqueueLogSubscriber.attach_to(:active_job)
|
data/templates/bin_deploy
CHANGED
data/templates/bin_setup
CHANGED
@@ -10,10 +10,14 @@ gem install bundler --conservative
|
|
10
10
|
bundle check || bundle install
|
11
11
|
|
12
12
|
# Set up database and add any development seed data
|
13
|
-
bin/
|
13
|
+
bin/rails dev:prime
|
14
14
|
|
15
|
-
|
16
|
-
|
15
|
+
if [ ! -d .git/safe ] && echo $PATH | grep .git/safe > /dev/null; then
|
16
|
+
echo "-----------------------------------------------------------------------"
|
17
|
+
echo
|
18
|
+
echo "-> When you trust this repo, remember to run: mkdir -p .git/safe"
|
19
|
+
echo
|
20
|
+
fi
|
17
21
|
|
18
22
|
# Only if this isn't CI
|
19
23
|
# if [ -z "$CI" ]; then
|
@@ -17,6 +17,6 @@ heroku pg:backups:capture --app $PARENT_APP_NAME
|
|
17
17
|
URL=`heroku pg:backups public-url --app $PARENT_APP_NAME`
|
18
18
|
|
19
19
|
heroku pg:backups restore $URL DATABASE_URL --confirm $APP_NAME --app $APP_NAME
|
20
|
-
heroku run
|
20
|
+
heroku run rails db:migrate --exit-code --app $APP_NAME
|
21
21
|
heroku ps:scale worker=1 --app $APP_NAME
|
22
22
|
heroku restart --app $APP_NAME
|
@@ -5,7 +5,7 @@ RSpec.configure do |config|
|
|
5
5
|
DatabaseCleaner.clean_with(:truncation)
|
6
6
|
end
|
7
7
|
|
8
|
-
config.before
|
8
|
+
config.before do
|
9
9
|
DatabaseCleaner.strategy = :transaction
|
10
10
|
end
|
11
11
|
|
@@ -18,11 +18,11 @@ RSpec.configure do |config|
|
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
|
-
config.before
|
21
|
+
config.before do
|
22
22
|
DatabaseCleaner.start
|
23
23
|
end
|
24
24
|
|
25
|
-
config.append_after
|
25
|
+
config.append_after do
|
26
26
|
DatabaseCleaner.clean
|
27
27
|
end
|
28
28
|
end
|
data/templates/rubocop.yml
CHANGED
data/templates/secrets.yml
CHANGED
@@ -2,16 +2,17 @@
|
|
2
2
|
*.DS_Store
|
3
3
|
*.swo
|
4
4
|
*.swp
|
5
|
+
.byebug_history
|
5
6
|
/.bundle
|
6
7
|
/.env.local
|
7
8
|
/coverage/*
|
8
9
|
/db/*.sqlite3
|
9
10
|
/db/*.sqlite3-journal
|
10
11
|
/log/*
|
11
|
-
/
|
12
|
+
/node_modules
|
12
13
|
/public/assets
|
14
|
+
/public/packs
|
15
|
+
/public/system
|
13
16
|
/tags
|
14
17
|
/tmp/*
|
15
18
|
/yarn-error.log
|
16
|
-
/public/packs
|
17
|
-
/node_modules
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: welaika-suspenders
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.28.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- thoughtbot
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-
|
12
|
+
date: 2017-09-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -31,14 +31,14 @@ dependencies:
|
|
31
31
|
requirements:
|
32
32
|
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: 5.1.
|
34
|
+
version: 5.1.4
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
39
|
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version: 5.1.
|
41
|
+
version: 5.1.4
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: rspec
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
@@ -85,6 +85,8 @@ files:
|
|
85
85
|
- lib/suspenders/adapters/heroku.rb
|
86
86
|
- lib/suspenders/app_builder.rb
|
87
87
|
- lib/suspenders/generators/app_generator.rb
|
88
|
+
- lib/suspenders/generators/enforce_ssl_generator.rb
|
89
|
+
- lib/suspenders/generators/initialize_active_job_generator.rb
|
88
90
|
- lib/suspenders/generators/static_generator.rb
|
89
91
|
- lib/suspenders/generators/stylesheet_base_generator.rb
|
90
92
|
- lib/suspenders/version.rb
|
@@ -105,6 +107,7 @@ files:
|
|
105
107
|
- templates/_flashes.html.slim
|
106
108
|
- templates/_javascript.html.slim
|
107
109
|
- templates/action_mailer.rb
|
110
|
+
- templates/active_job.rb
|
108
111
|
- templates/app.json.erb
|
109
112
|
- templates/application.sass
|
110
113
|
- templates/bin_deploy
|
@@ -168,7 +171,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
168
171
|
version: '0'
|
169
172
|
requirements: []
|
170
173
|
rubyforge_project:
|
171
|
-
rubygems_version: 2.6.
|
174
|
+
rubygems_version: 2.6.11
|
172
175
|
signing_key:
|
173
176
|
specification_version: 4
|
174
177
|
summary: Generate a Rails app using thoughtbot's best practices.
|