slining 1.5.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 77cde7ad1c646626c7b5defa22f069d9ff799b14
4
- data.tar.gz: ab5476cfcc6c3cb00e5a257246486e3a963c0dcf
3
+ metadata.gz: 5c7fc9e3a8bd48887f49e042743e9855c3cf27b1
4
+ data.tar.gz: 8b34aa89c782b89ae360fe4c6f2484d627e5706b
5
5
  SHA512:
6
- metadata.gz: 967f856b529855353399864b5cc7226df2c0a48cfbed0b3ab53a3f95af4b41c0c2126cb7c18bc449ef6b2dd96c546dd5ec91e14870cc73d4f7c567f8792efa36
7
- data.tar.gz: 0145b65bd84307661d0907cdb8e9196060bb9dacda52e71c7b82c968d8e2118ebc1e372e965ccb76e10286903e197a06361d17abd4bbc510820bfb3810d15561
6
+ metadata.gz: 59c4b2092db7d17ba70dc975fe6bfa9d9913d55b4a801709c40d8c9c7ea398e9f98883441fb6b2b342177ef7ddd4273d19250728ce23e5e8329a211b5691fc24
7
+ data.tar.gz: 13d5f17e0b107d4d02b8291730fcb1a335595621f1c23c0082361a9a57f5fc38530932c8a34da264cb32d87a5ab7a8e0fe3833302d6a23c4b1a4ec6bd3f43452
@@ -1 +1 @@
1
- 2.3.0
1
+ 2.3.1
@@ -46,7 +46,7 @@ module Slining
46
46
  end
47
47
  end
48
48
 
49
- def provide_review_apps_setup_script
49
+ def create_review_apps_setup_script
50
50
  app_builder.template(
51
51
  "bin_setup_review_app.erb",
52
52
  "bin/setup_review_app",
@@ -55,14 +55,14 @@ module Slining
55
55
  app_builder.run "chmod a+x bin/setup_review_app"
56
56
  end
57
57
 
58
- def create_heroku_pipelines_config_file
58
+ def create_heroku_application_manifest_file
59
59
  app_builder.template "app.json.erb", "app.json"
60
60
  end
61
61
 
62
62
  def create_heroku_pipeline
63
- pipelines_plugin = `heroku plugins | grep pipelines`
63
+ pipelines_plugin = `heroku help | grep pipelines`
64
64
  if pipelines_plugin.empty?
65
- puts "You need heroku pipelines plugin. Run: heroku plugins:install heroku-pipelines"
65
+ puts "You need heroku pipelines plugin. Run: brew upgrade heroku-toolbelt"
66
66
  exit 1
67
67
  end
68
68
 
@@ -80,15 +80,6 @@ module Slining
80
80
  )
81
81
  end
82
82
 
83
- def set_heroku_serve_static_files
84
- %w(staging production).each do |environment|
85
- run_toolbelt_command(
86
- "config:add RAILS_SERVE_STATIC_FILES=true",
87
- environment,
88
- )
89
- end
90
- end
91
-
92
83
  private
93
84
 
94
85
  attr_reader :app_builder
@@ -6,14 +6,13 @@ module Slining
6
6
  extend Forwardable
7
7
 
8
8
  def_delegators :heroku_adapter,
9
- :create_heroku_pipelines_config_file,
9
+ :create_heroku_application_manifest_file,
10
10
  :create_heroku_pipeline,
11
11
  :create_production_heroku_app,
12
12
  :create_staging_heroku_app,
13
- :provide_review_apps_setup_script,
13
+ :create_review_apps_setup_script,
14
14
  :set_heroku_rails_secrets,
15
15
  :set_heroku_remotes,
16
- :set_heroku_serve_static_files,
17
16
  :set_up_heroku_specific_gems
18
17
 
19
18
  def readme
@@ -83,7 +82,7 @@ module Slining
83
82
 
84
83
  def configure_quiet_assets
85
84
  config = <<-RUBY
86
- config.quiet_assets = true
85
+ config.assets.quiet = true
87
86
  RUBY
88
87
 
89
88
  inject_into_class "config/application.rb", "Application", config
@@ -152,7 +151,7 @@ module Slining
152
151
  config = <<-RUBY
153
152
 
154
153
  if ENV.fetch("HEROKU_APP_NAME", "").include?("staging-pr-")
155
- ENV["APPLICATION_HOST"] = ENV["HEROKU_APP_NAME"] ".herokuapp.com"
154
+ ENV["APPLICATION_HOST"] = ENV["HEROKU_APP_NAME"] + ".herokuapp.com"
156
155
  end
157
156
 
158
157
  # Ensure requests are only served from one, canonical host name
@@ -336,8 +335,8 @@ Rack::Timeout.timeout = (ENV["RACK_TIMEOUT"] || 10).to_i
336
335
  generate 'rspec:install'
337
336
  end
338
337
 
339
- def configure_puma
340
- copy_file "puma.rb", "config/puma.rb"
338
+ def replace_default_puma_configuration
339
+ copy_file "puma.rb", "config/puma.rb", force: true
341
340
  end
342
341
 
343
342
  def set_up_forego
@@ -377,7 +376,7 @@ Rack::Timeout.timeout = (ENV["RACK_TIMEOUT"] || 10).to_i
377
376
  create_production_heroku_app(flags)
378
377
  end
379
378
 
380
- def provide_deploy_script
379
+ def create_deploy_script
381
380
  copy_file "bin_deploy", "bin/deploy"
382
381
 
383
382
  instructions = <<-MARKDOWN
@@ -472,10 +471,6 @@ you can deploy to staging and production with:
472
471
  "Rails.application.routes.draw do\nend"
473
472
  end
474
473
 
475
- def disable_xml_params
476
- copy_file 'disable_xml_params.rb', 'config/initializers/disable_xml_params.rb'
477
- end
478
-
479
474
  def setup_default_rake_task
480
475
  append_file 'Rakefile' do
481
476
  <<-EOS
@@ -12,18 +12,9 @@ module Slining
12
12
  class_option :heroku_flags, type: :string, default: "",
13
13
  desc: "Set extra Heroku flags"
14
14
 
15
- class_option :github, type: :string, aliases: "-G", default: nil,
15
+ class_option :github, type: :string, default: nil,
16
16
  desc: "Create Github repository and add remote origin pointed to repo"
17
17
 
18
- class_option :skip_test_unit, type: :boolean, aliases: "-T", default: true,
19
- desc: "Skip Test::Unit files"
20
-
21
- class_option :skip_turbolinks, type: :boolean, default: true,
22
- desc: "Skip turbolinks gem"
23
-
24
- class_option :skip_bundle, type: :boolean, aliases: "-B", default: true,
25
- desc: "Don't run bundle install"
26
-
27
18
  def finish_template
28
19
  invoke :slining_customization
29
20
  super
@@ -45,6 +36,7 @@ module Slining
45
36
  invoke :remove_routes_comment_lines
46
37
  invoke :setup_git
47
38
  invoke :setup_database
39
+ invoke :create_local_heroku_setup
48
40
  invoke :setup_dotfiles
49
41
  invoke :create_heroku_apps
50
42
  invoke :create_github_repo
@@ -57,10 +49,6 @@ module Slining
57
49
  def customize_gemfile
58
50
  build :set_ruby_to_version_being_used
59
51
 
60
- if options[:heroku]
61
- build :set_up_heroku_specific_gems
62
- end
63
-
64
52
  bundle_command 'install'
65
53
  build :configure_simple_form
66
54
  end
@@ -140,9 +128,8 @@ module Slining
140
128
  build :configure_action_mailer
141
129
  build :configure_active_job
142
130
  build :configure_time_formats
143
- build :disable_xml_params
144
131
  build :setup_default_rake_task
145
- build :configure_puma
132
+ build :replace_default_puma_configuration
146
133
  build :set_up_forego
147
134
  build :setup_rack_mini_profiler
148
135
  end
@@ -160,17 +147,20 @@ module Slining
160
147
  end
161
148
  end
162
149
 
150
+ def create_local_heroku_setup
151
+ say "Creating local Heroku setup"
152
+ build :create_review_apps_setup_script
153
+ build :create_deploy_script
154
+ build :create_heroku_application_manifest_file
155
+ end
156
+
163
157
  def create_heroku_apps
164
158
  if options[:heroku]
165
159
  say "Creating Heroku apps"
166
160
  build :create_heroku_apps, options[:heroku_flags]
167
- build :provide_review_apps_setup_script
168
- build :set_heroku_serve_static_files
169
161
  build :set_heroku_remotes
170
162
  build :set_heroku_rails_secrets
171
- build :create_heroku_pipelines_config_file
172
163
  build :create_heroku_pipeline
173
- build :provide_deploy_script
174
164
  build :configure_automatic_deployment
175
165
  end
176
166
  end
@@ -1,5 +1,5 @@
1
1
  module Slining
2
- RAILS_VERSION = "~> 4.2.0"
2
+ RAILS_VERSION = "~> 5.0.0.1"
3
3
  RUBY_VERSION = IO.read("#{File.dirname(__FILE__)}/../../.ruby-version").strip
4
- VERSION = "1.5.0"
4
+ VERSION = "1.6.0"
5
5
  end
@@ -31,9 +31,4 @@ rush to build something amazing; don't use it if you like missing deadlines.
31
31
  s.add_dependency 'rails', Slining::RAILS_VERSION
32
32
 
33
33
  s.add_development_dependency 'rspec', '~> 3.4'
34
- s.add_development_dependency 'codeclimate-test-reporter'
35
- s.add_development_dependency 'simple_form', '~> 3.2'
36
- s.add_development_dependency 'title', '~> 0.0'
37
- s.add_development_dependency 'quiet_assets', '~> 1.1'
38
- s.add_development_dependency 'capybara-webkit', '~> 1.8'
39
34
  end
@@ -7,7 +7,7 @@ RSpec.describe "GitHub" do
7
7
  end
8
8
 
9
9
  it "slining a project with --github option" do
10
- repo_name = 'test'
10
+ repo_name = "test"
11
11
  run_slining("--github=#{repo_name}")
12
12
 
13
13
  expect(FakeGithub).to have_created_repo(repo_name)
@@ -10,9 +10,6 @@ RSpec.describe "Heroku" do
10
10
  it "slinings a project for Heroku" do
11
11
  app_name = SliningTestHelpers::APP_NAME.dasherize
12
12
 
13
- expect(FakeHeroku).to(
14
- have_gem_included(project_path, "rails_stdout_logging"),
15
- )
16
13
  expect(FakeHeroku).to have_created_app_for("staging")
17
14
  expect(FakeHeroku).to have_created_app_for("production")
18
15
  expect(FakeHeroku).to have_configured_vars("staging", "SECRET_KEY_BASE")
@@ -29,19 +26,6 @@ RSpec.describe "Heroku" do
29
26
  expect(bin_setup).to include("heroku join --app #{app_name}-staging")
30
27
  expect(bin_setup).to include("git config heroku.remote staging")
31
28
  expect(File.stat(bin_setup_path)).to be_executable
32
- bin_setup_path = "#{project_path}/bin/setup_review_app"
33
- bin_setup = IO.read(bin_setup_path)
34
-
35
- expect(bin_setup).to include("heroku run rake db:migrate --app #{app_name}-staging-pr-$1")
36
- expect(bin_setup).to include("heroku ps:scale worker=1 --app #{app_name}-staging-pr-$1")
37
- expect(bin_setup).to include("heroku restart --app #{app_name}-staging-pr-$1")
38
- expect(File.stat(bin_setup_path)).to be_executable
39
-
40
- bin_deploy_path = "#{project_path}/bin/deploy"
41
- bin_deploy = IO.read(bin_deploy_path)
42
-
43
- expect(bin_deploy).to include("heroku run rake db:migrate")
44
- expect(File.stat(bin_deploy_path)).to be_executable
45
29
 
46
30
  readme = IO.read("#{project_path}/README.md")
47
31
 
@@ -60,16 +44,6 @@ RSpec.describe "Heroku" do
60
44
  YML
61
45
  end
62
46
 
63
- it "adds app.json file" do
64
- expect(File).to exist("#{project_path}/app.json")
65
- end
66
-
67
- it "includes application name in app.json file" do
68
- app_json_file = IO.read("#{project_path}/app.json")
69
- app_name = SliningTestHelpers::APP_NAME.dasherize
70
-
71
- expect(app_json_file).to match(/"name":"#{app_name}"/)
72
- end
73
47
  end
74
48
 
75
49
  context "--heroku with region flag" do
@@ -5,6 +5,7 @@ RSpec.describe "Slining a new project with default configuration" do
5
5
  drop_dummy_database
6
6
  remove_project_directory
7
7
  run_slining
8
+ setup_app_dependencies
8
9
  end
9
10
 
10
11
  it "uses custom Gemfile" do
@@ -125,9 +126,7 @@ RSpec.describe "Slining a new project with default configuration" do
125
126
  it "adds explicit quiet_assets configuration" do
126
127
  result = IO.read("#{project_path}/config/application.rb")
127
128
 
128
- expect(result).to match(
129
- /^ +config.quiet_assets = true$/
130
- )
129
+ expect(result).to match(/^ +config.assets.quiet = true$/)
131
130
  end
132
131
 
133
132
  it "raises on missing translations in development and test" do
@@ -1,8 +1,5 @@
1
1
  require 'bundler/setup'
2
2
 
3
- require "codeclimate-test-reporter"
4
- CodeClimate::TestReporter.start
5
-
6
3
  Bundler.require(:default, :test)
7
4
 
8
5
  require (Pathname.new(__FILE__).dirname + '../lib/slining').expand_path
@@ -6,8 +6,8 @@ class FakeHeroku
6
6
  end
7
7
 
8
8
  def run!
9
- if @args.first == "plugins"
10
- puts "heroku-pipelines@0.29.0"
9
+ if @args.first == "help"
10
+ puts "pipelines # manage collections of apps in pipelines"
11
11
  end
12
12
  File.open(RECORDER, 'a') do |file|
13
13
  file.puts @args.join(' ')
@@ -20,6 +20,27 @@ module SliningTestHelpers
20
20
  end
21
21
  end
22
22
 
23
+ def suspenders_help_command
24
+ Dir.chdir(tmp_path) do
25
+ Bundler.with_clean_env do
26
+ `
27
+ #{suspenders_bin} -h
28
+ `
29
+ end
30
+ end
31
+ end
32
+
33
+ def setup_app_dependencies
34
+ if File.exist?(project_path)
35
+ Dir.chdir(project_path) do
36
+ Bundler.with_clean_env do
37
+ `bundle check || bundle install`
38
+ end
39
+ end
40
+ end
41
+ end
42
+
43
+
23
44
  def drop_dummy_database
24
45
  if File.exist?(project_path)
25
46
  Dir.chdir(project_path) do
@@ -11,7 +11,6 @@ gem "haml-rails", "~> 0.9"
11
11
  gem "high_voltage"
12
12
  gem "honeybadger"
13
13
  gem "jquery-rails"
14
- gem "newrelic_rpm", ">= 3.9.8"
15
14
  gem "normalize-rails", "~> 3.0.0"
16
15
  gem "pg"
17
16
  gem "puma"
@@ -22,11 +21,12 @@ gem "sass-rails", "~> 5.0"
22
21
  gem "simple_form"
23
22
  gem "sprockets", ">= 3.0.0"
24
23
  gem "sprockets-es6"
24
+ gem "skylight"
25
25
  gem "title"
26
26
  gem "uglifier"
27
27
 
28
28
  group :development do
29
- gem "quiet_assets"
29
+ gem "listen"
30
30
  gem "spring"
31
31
  gem "spring-commands-rspec"
32
32
  gem "web-console"
@@ -40,7 +40,7 @@ group :development, :test do
40
40
  gem "factory_girl_rails"
41
41
  gem "pry-byebug"
42
42
  gem "pry-rails"
43
- gem "rspec-rails", "~> 3.4.0"
43
+ gem "rspec-rails", "~> 3.5.0.beta4"
44
44
  end
45
45
 
46
46
  group :development, :staging do
@@ -31,9 +31,6 @@
31
31
  },
32
32
  "SMTP_USERNAME":{
33
33
  "required":true
34
- },
35
- "WEB_CONCURRENCY":{
36
- "required":true
37
34
  }
38
35
  },
39
36
  "addons":[
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <meta charset="utf-8" />
5
5
  <meta name="ROBOTS" content="NOODP" />
6
- <meta name="viewport" content="initial-scale=1" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
7
7
  <%%#
8
8
  Configure default and controller-, and view-specific titles in
9
9
  config/locales/en.yml. For more see:
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slining
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - vaporware
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-05 00:00:00.000000000 Z
11
+ date: 2016-09-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 4.2.0
33
+ version: 5.0.0.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 4.2.0
40
+ version: 5.0.0.1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -52,76 +52,6 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3.4'
55
- - !ruby/object:Gem::Dependency
56
- name: codeclimate-test-reporter
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: simple_form
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '3.2'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: '3.2'
83
- - !ruby/object:Gem::Dependency
84
- name: title
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: '0.0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: '0.0'
97
- - !ruby/object:Gem::Dependency
98
- name: quiet_assets
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: '1.1'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: '1.1'
111
- - !ruby/object:Gem::Dependency
112
- name: capybara-webkit
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: '1.8'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - "~>"
123
- - !ruby/object:Gem::Version
124
- version: '1.8'
125
55
  description: |
126
56
  Slining is a base Rails project that you can upgrade. It is used by
127
57
  vaporware to get a jump start on a working app. Use Slining if you're in a
@@ -185,7 +115,6 @@ files:
185
115
  - templates/config_locales_en.yml.erb
186
116
  - templates/database_cleaner_rspec.rb
187
117
  - templates/dev.rake
188
- - templates/disable_xml_params.rb
189
118
  - templates/dotfiles/.ctags
190
119
  - templates/dotfiles/.env
191
120
  - templates/errors.rb
@@ -220,7 +149,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
220
149
  requirements:
221
150
  - - ">="
222
151
  - !ruby/object:Gem::Version
223
- version: 2.3.0
152
+ version: 2.3.1
224
153
  required_rubygems_version: !ruby/object:Gem::Requirement
225
154
  requirements:
226
155
  - - ">="
@@ -1 +0,0 @@
1
- ActionDispatch::ParamsParser::DEFAULT_PARSERS.delete(Mime::XML)