gb-firestarter 0.3.1 → 0.4.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: 6042abc15cd4d1065e0a0a4d8900c54c8516f3af
4
- data.tar.gz: 95a2ee29671b96bb1f51b2088d23eee114d1dd8f
3
+ metadata.gz: 03053b2acd6e4cbecc4aa068c6ef8dc386be6f13
4
+ data.tar.gz: 62d088f98dbfba8005228f061bb3b81e4111f04f
5
5
  SHA512:
6
- metadata.gz: 189840c067a7a3961c4aa06c0a30c955393bb45402460fbb424c9dcc8511ef155f2b24704d03b42ae45f80df28895f31ef0c1eaa8cfe3d4810beff60a717203d
7
- data.tar.gz: a334b7e8fb70f5e9aa7155ea6f93795f27eba2187139107bb7adccfd0dfcc6f23015a732f3220f964aa5a8ecf062e429ffb8963da2885e097e3212e20a9983bd
6
+ metadata.gz: fa3b5dd3772961295cd82752ff691edb19da7758da002dbd91b10fa25d1ed6e21d2350b17b232b0f3967e6f690457ac8158037cfd4cb87cdb05eef189b023e41
7
+ data.tar.gz: f42f30c606678c3382b3a4cb565371b6bd860709f4c2d7d6e3d21a1dd251343e99ee6292cd68cf4ff58e4ed75b411f483e3f1762da9eb9e5b96d95781e173ebb
data/.gitignore CHANGED
@@ -3,3 +3,4 @@
3
3
  /.bundle
4
4
  /tmp/dummy
5
5
  .ruby-gemset
6
+ tmp
@@ -0,0 +1,13 @@
1
+ MetricFu::Configuration.run do |config|
2
+ config.configure_metric(:cane) do |cane|
3
+ cane.no_doc = 'y'
4
+ end
5
+
6
+ config.configure_metric(:churn) do |churn|
7
+ churn.ignore_files = %w(Gemfile Gemfile.lock)
8
+ end
9
+
10
+ config.configure_metric(:reek) do |reek|
11
+ reek.config_file_pattern = '.metrics.reek'
12
+ end
13
+ end
@@ -0,0 +1,3 @@
1
+ ---
2
+ IrresponsibleModule:
3
+ enabled: false
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color
@@ -0,0 +1,64 @@
1
+ AllCops:
2
+ Include:
3
+ - "**/Rakefile"
4
+ - "**/config.ru"
5
+ Exclude:
6
+ - "db/**/*"
7
+ - "config/**/*"
8
+ - "script/**/*"
9
+ - "bin/**/*"
10
+ - "vendor/**/*"
11
+ - "node_modules/**/*"
12
+ - "spec/factories.rb"
13
+ - "slack_bot/**/*"
14
+ TargetRubyVersion: 2.3
15
+
16
+ Metrics/LineLength:
17
+ Enabled: false
18
+
19
+ Style/AlignParameters:
20
+ EnforcedStyle: with_fixed_indentation
21
+
22
+ Style/ClassAndModuleChildren:
23
+ Enabled: false
24
+
25
+ Style/Documentation:
26
+ Enabled: false
27
+
28
+ Style/DotPosition:
29
+ EnforcedStyle: trailing
30
+
31
+ Style/IfUnlessModifier:
32
+ Enabled: false
33
+
34
+ Style/PredicateName:
35
+ NamePrefixBlacklist:
36
+ - is_
37
+ - have_
38
+
39
+ Style/StringLiterals:
40
+ EnforcedStyle: double_quotes
41
+
42
+ Style/NumericLiterals:
43
+ Enabled: false
44
+
45
+ Style/SingleLineBlockParams:
46
+ Enabled: false
47
+
48
+ Style/MultilineOperationIndentation:
49
+ EnforcedStyle: indented
50
+
51
+ Style/MultilineMethodCallIndentation:
52
+ EnforcedStyle: indented
53
+
54
+ Style/TrailingCommaInArguments:
55
+ EnforcedStyleForMultiline: comma
56
+
57
+ Style/TrailingCommaInLiteral:
58
+ EnforcedStyleForMultiline: comma
59
+
60
+ Style/FrozenStringLiteralComment:
61
+ Enabled: false
62
+
63
+ Style/MutableConstant:
64
+ Enabled: false
@@ -1 +1 @@
1
- 2.2.0
1
+ 2.3.0
@@ -1,18 +1,17 @@
1
1
  language: ruby
2
2
  rvm:
3
+ - 2.3.0
3
4
  - 2.2.0
4
5
  - ruby-head
5
6
  env:
6
- - "RAILS_VERSION=4.2.0"
7
- - "RAILS_VERSION=master"
7
+ - "RAILS_VERSION=4.2.6"
8
8
  matrix:
9
9
  allow_failures:
10
10
  - rvm: ruby-head
11
- - env: "RAILS_VERSION=master"
12
11
  before_install:
13
- - "echo '--colour' > ~/.rspec"
14
- - git config --global user.name 'Travis CI'
15
- - git config --global user.email 'travis-ci@example.com'
12
+ - gem install bundler -v 1.11.2
13
+ - git config --global user.name "Travis CI"
14
+ - git config --global user.email "travis-ci@example.com"
16
15
  install:
17
16
  - bundle install
18
17
  notifications:
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- gb-firestarter (0.3.1)
4
+ gb-firestarter (0.4.0)
5
5
  bundler (~> 1.3)
6
6
  rails (= 4.2.0)
7
7
 
@@ -48,6 +48,7 @@ GEM
48
48
  childprocess (>= 0.3.6)
49
49
  cucumber (>= 1.1.1)
50
50
  rspec-expectations (>= 2.7.0)
51
+ ast (2.3.0)
51
52
  builder (3.2.2)
52
53
  capybara (2.4.4)
53
54
  mime-types (>= 1.16)
@@ -58,6 +59,7 @@ GEM
58
59
  childprocess (0.5.6)
59
60
  ffi (~> 1.0, >= 1.0.11)
60
61
  coderay (1.1.0)
62
+ concurrent-ruby (1.0.2)
61
63
  cucumber (2.0.0)
62
64
  builder (>= 2.1.2)
63
65
  cucumber-core (~> 1.1.3)
@@ -78,16 +80,19 @@ GEM
78
80
  json (1.8.3)
79
81
  loofah (2.0.3)
80
82
  nokogiri (>= 1.5.9)
81
- mail (2.6.3)
82
- mime-types (>= 1.16, < 3)
83
+ mail (2.6.4)
84
+ mime-types (>= 1.16, < 4)
83
85
  method_source (0.8.2)
84
86
  mime-types (2.4.3)
85
87
  mini_portile (0.6.2)
86
- minitest (5.8.1)
88
+ minitest (5.9.0)
87
89
  multi_json (1.11.0)
88
90
  multi_test (0.1.2)
89
91
  nokogiri (1.6.6.2)
90
92
  mini_portile (~> 0.6.0)
93
+ parser (2.3.1.2)
94
+ ast (~> 2.2)
95
+ powerpack (0.1.1)
91
96
  pry (0.10.1)
92
97
  coderay (~> 1.1.0)
93
98
  method_source (~> 0.8.1)
@@ -112,14 +117,15 @@ GEM
112
117
  activesupport (>= 4.2.0.beta, < 5.0)
113
118
  nokogiri (~> 1.6.0)
114
119
  rails-deprecated_sanitizer (>= 1.0.1)
115
- rails-html-sanitizer (1.0.2)
120
+ rails-html-sanitizer (1.0.3)
116
121
  loofah (~> 2.0)
117
122
  railties (4.2.0)
118
123
  actionpack (= 4.2.0)
119
124
  activesupport (= 4.2.0)
120
125
  rake (>= 0.8.7)
121
126
  thor (>= 0.18.1, < 2.0)
122
- rake (10.4.2)
127
+ rainbow (2.1.0)
128
+ rake (11.2.2)
123
129
  rspec (2.99.0)
124
130
  rspec-core (~> 2.99.0)
125
131
  rspec-expectations (~> 2.99.0)
@@ -128,17 +134,26 @@ GEM
128
134
  rspec-expectations (2.99.2)
129
135
  diff-lcs (>= 1.1.3, < 2.0)
130
136
  rspec-mocks (2.99.3)
137
+ rubocop (0.40.0)
138
+ parser (>= 2.3.1.0, < 3.0)
139
+ powerpack (~> 0.1)
140
+ rainbow (>= 1.99.1, < 3.0)
141
+ ruby-progressbar (~> 1.7)
142
+ unicode-display_width (~> 1.0, >= 1.0.1)
143
+ ruby-progressbar (1.8.1)
131
144
  slop (3.6.0)
132
- sprockets (3.3.5)
145
+ sprockets (3.6.1)
146
+ concurrent-ruby (~> 1.0)
133
147
  rack (> 1, < 3)
134
- sprockets-rails (2.3.3)
135
- actionpack (>= 3.0)
136
- activesupport (>= 3.0)
137
- sprockets (>= 2.8, < 4.0)
148
+ sprockets-rails (3.0.4)
149
+ actionpack (>= 4.0)
150
+ activesupport (>= 4.0)
151
+ sprockets (>= 3.0.0)
138
152
  thor (0.19.1)
139
153
  thread_safe (0.3.5)
140
154
  tzinfo (1.2.2)
141
155
  thread_safe (~> 0.1)
156
+ unicode-display_width (1.0.5)
142
157
  xpath (2.0.0)
143
158
  nokogiri (~> 1.3)
144
159
 
@@ -151,3 +166,7 @@ DEPENDENCIES
151
166
  gb-firestarter!
152
167
  pry
153
168
  rspec (~> 2.0)
169
+ rubocop (~> 0.40.0)
170
+
171
+ BUNDLED WITH
172
+ 1.11.2
data/README.md CHANGED
@@ -1,4 +1,6 @@
1
- # Firestarter [![Build Status](https://travis-ci.org/groupbuddies/firestarter.svg?branch=master)](https://travis-ci.org/groupbuddies/firestarter)
1
+ # Firestarter
2
+
3
+ [![Build Status](https://travis-ci.org/subvisual/firestarter.svg?branch=master)](https://travis-ci.org/subvisual/firestarter) [![Code Climate](https://codeclimate.com/github/subvisual/firestarter/badges/gpa.svg)](https://codeclimate.com/github/subvisual/firestarter)
2
4
 
3
5
  Firestarter is the base Rails application used at [Group Buddies](http://groupbuddies.com).
4
6
 
data/Rakefile CHANGED
@@ -1,8 +1,8 @@
1
- require 'bundler/setup'
2
- require 'bundler/gem_tasks'
3
- require 'rspec/core/rake_task'
1
+ require "bundler/setup"
2
+ require "bundler/gem_tasks"
3
+ require "rspec/core/rake_task"
4
4
 
5
5
  RSpec::Core::RakeTask.new(:rspec)
6
6
 
7
- desc 'Run the test suite'
8
- task :default => :rspec
7
+ desc "Run the test suite"
8
+ task default: :rspec
@@ -1,34 +1,37 @@
1
1
  # -*- encoding: utf-8 -*-
2
- $:.push File.expand_path('../lib', __FILE__)
3
- require 'firestarter/version'
4
- require 'date'
2
+ $LOAD_PATH.push File.expand_path("../lib", __FILE__)
3
+ require "firestarter/version"
4
+ require "date"
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = 'gb-firestarter'
7
+ s.name = "gb-firestarter"
8
8
  s.version = Firestarter::VERSION
9
9
  s.summary = "Generate a Rails app using groupbuddies's best practices and opinions."
10
10
  s.description = <<-HERE
11
11
  Firestarter is the way to get great apps up and running in a heartbeat. It's
12
- what we use at Group Buddies.
12
+ what we use at Subvisual.
13
13
  HERE
14
- s.authors = ['groupbuddies']
15
- s.email = 'contact@groupbuddies.com'
14
+ s.authors = ["Subvisual"]
15
+ s.email = "contact@subvisual.co"
16
+
16
17
  s.files = `git ls-files`.split("\n")
17
- s.homepage = 'http://github.com/groupbuddies/firestarter'
18
- s.extra_rdoc_files = %w[README.md LICENSE]
19
- s.license = 'MIT'
18
+ s.executables = ["firestarter"]
19
+ s.homepage = "http://github.com/groupbuddies/firestarter"
20
+ s.extra_rdoc_files = %w(README.md LICENSE)
21
+ s.license = "MIT"
20
22
 
21
- s.executables = ['firestarter']
22
- s.rdoc_options = ['--charset=UTF-8']
23
- s.require_paths = ['lib']
23
+ s.executables = ["firestarter"]
24
+ s.rdoc_options = ["--charset=UTF-8"]
25
+ s.require_paths = ["lib"]
24
26
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
25
- s.required_ruby_version = '>= 1.9.2'
26
- s.date = Date.today.strftime('%Y-%m-%d')
27
+ s.required_ruby_version = ">= 1.9.2"
28
+ s.date = Date.today.strftime("%Y-%m-%d")
27
29
 
28
- s.add_dependency 'bundler', '~> 1.3'
29
- s.add_dependency 'rails', Firestarter::RAILS_VERSION
30
+ s.add_dependency "bundler", "~> 1.3"
31
+ s.add_dependency "rails", Firestarter::RAILS_VERSION
30
32
 
31
- s.add_development_dependency 'aruba', '~> 0.5.4'
32
- s.add_development_dependency 'rspec', '~> 2.0'
33
- s.add_development_dependency 'capybara', '~> 2.2', '>= 2.2.0'
33
+ s.add_development_dependency "aruba", "~> 0.5.4"
34
+ s.add_development_dependency "rspec", "~> 2.0"
35
+ s.add_development_dependency "capybara", "~> 2.2", ">= 2.2.0"
36
+ s.add_development_dependency "rubocop", "~> 0.40.0"
34
37
  end
@@ -1,4 +1,4 @@
1
- require 'firestarter/generators/app_generator'
2
- require 'firestarter/actions'
3
- require 'firestarter/app_builder'
4
- require 'firestarter/version'
1
+ require "firestarter/generators/app_generator"
2
+ require "firestarter/actions"
3
+ require "firestarter/app_builder"
4
+ require "firestarter/version"
@@ -18,7 +18,7 @@ module Firestarter
18
18
  inject_into_file(
19
19
  "config/environments/#{rails_env}.rb",
20
20
  "\n\n #{config}",
21
- before: "\nend"
21
+ before: "\nend",
22
22
  )
23
23
  end
24
24
 
@@ -1,18 +1,18 @@
1
1
  module Firestarter
2
- class AppBuilder < Rails::AppBuilder
2
+ class AppBuilder < Rails::AppBuilder # rubocop:disable Metrics/ClassLength
3
3
  include Firestarter::Actions
4
4
 
5
5
  def readme
6
- template 'README.md.erb', 'README.md'
6
+ template "README.md.erb", "README.md"
7
7
  end
8
8
 
9
9
  def rakefile
10
- template 'Rakefile.erb', 'Rakefile'
10
+ template "Rakefile.erb", "Rakefile"
11
11
  end
12
12
 
13
13
  def raise_on_delivery_errors
14
- replace_in_file 'config/environments/development.rb',
15
- 'raise_delivery_errors = false', 'raise_delivery_errors = true'
14
+ replace_in_file "config/environments/development.rb",
15
+ "raise_delivery_errors = false", "raise_delivery_errors = true"
16
16
  end
17
17
 
18
18
  def raise_on_unpermitted_parameters
@@ -25,21 +25,21 @@ module Firestarter
25
25
  inject_into_file(
26
26
  "config/environments/development.rb",
27
27
  action_on_unpermitted_parameters,
28
- before: "\nend"
28
+ before: "\nend",
29
29
  )
30
30
  end
31
31
 
32
32
  def provide_setup_script
33
- remove_file 'bin/setup'
34
- copy_file 'bin_setup', 'bin/setup'
35
- run 'chmod a+x bin/setup'
33
+ remove_file "bin/setup"
34
+ copy_file "bin_setup", "bin/setup"
35
+ run "chmod a+x bin/setup"
36
36
  end
37
37
 
38
38
  def provide_dev_prime_task
39
- copy_file 'development_seeds.rb', 'lib/tasks/development_seeds.rake'
39
+ copy_file "development_seeds.rb", "lib/tasks/development_seeds.rake"
40
40
  end
41
41
 
42
- def configure_generators
42
+ def configure_generators # rubocop:disable Metrics/MethodLength
43
43
  config = <<-RUBY
44
44
  config.generators do |generate|
45
45
  generate.helper false
@@ -53,22 +53,22 @@ module Firestarter
53
53
 
54
54
  RUBY
55
55
 
56
- inject_into_class 'config/application.rb', 'Application', config
56
+ inject_into_class "config/application.rb", "Application", config
57
57
  end
58
58
 
59
59
  def enable_factory_girl_syntax
60
- copy_file 'factory_girl_syntax_rspec.rb', 'spec/support/factory_girl.rb'
60
+ copy_file "factory_girl_syntax_rspec.rb", "spec/support/factory_girl.rb"
61
61
  end
62
62
 
63
63
  def test_factories_first
64
- copy_file 'factories_spec.rb', 'spec/models/factories_spec.rb'
65
- append_file 'Rakefile', factories_spec_rake_task
64
+ copy_file "factories_spec.rb", "spec/models/factories_spec.rb"
65
+ append_file "Rakefile", factories_spec_rake_task
66
66
  end
67
67
 
68
68
  def configure_smtp
69
- copy_file 'smtp.rb', 'config/initializers/smtp.rb'
69
+ copy_file "smtp.rb", "config/initializers/smtp.rb"
70
70
 
71
- prepend_file 'config/environments/production.rb',
71
+ prepend_file "config/environments/production.rb",
72
72
  "require Rails.root.join('config/initializers/smtp')\n"
73
73
 
74
74
  config = <<-RUBY
@@ -77,8 +77,8 @@ module Firestarter
77
77
  config.action_mailer.smtp_settings = SMTP_SETTINGS
78
78
  RUBY
79
79
 
80
- inject_into_file 'config/environments/production.rb', config,
81
- :after => 'config.action_mailer.raise_delivery_errors = false'
80
+ inject_into_file "config/environments/production.rb", config,
81
+ after: "config.action_mailer.raise_delivery_errors = false"
82
82
  end
83
83
 
84
84
  def enable_rack_deflater
@@ -88,13 +88,13 @@ module Firestarter
88
88
  config.middleware.use Rack::Deflater
89
89
  RUBY
90
90
 
91
- inject_into_file 'config/environments/production.rb', config,
92
- :after => "config.serve_static_assets = false\n"
91
+ inject_into_file "config/environments/production.rb", config,
92
+ after: "config.serve_static_assets = false\n"
93
93
  end
94
94
 
95
95
  def setup_staging_environment
96
- staging_file = 'config/environments/staging.rb'
97
- copy_file 'staging.rb', staging_file
96
+ staging_file = "config/environments/staging.rb"
97
+ copy_file "staging.rb", staging_file
98
98
 
99
99
  config = <<-RUBY
100
100
 
@@ -107,74 +107,92 @@ end
107
107
  end
108
108
 
109
109
  def setup_secret_token
110
- template 'secret_token.rb',
111
- 'config/initializers/secret_token.rb',
112
- :force => true
110
+ template "secret_token.rb.erb",
111
+ "config/initializers/secret_token.rb",
112
+ force: true
113
113
  end
114
114
 
115
115
  def create_partials_directory
116
- empty_directory 'app/views/application'
116
+ empty_directory "app/views/application"
117
117
  end
118
118
 
119
119
  def create_shared_flashes
120
- copy_file '_flashes.slim', 'app/views/application/_flashes.slim'
120
+ copy_file "_flashes.slim", "app/views/application/_flashes.slim"
121
121
  end
122
122
 
123
123
  def create_shared_javascripts
124
- copy_file '_javascript.slim', 'app/views/application/_javascript.slim'
124
+ copy_file "_javascript.slim", "app/views/application/_javascript.slim"
125
125
  end
126
126
 
127
127
  def create_application_layout
128
- remove_file 'app/views/layouts/application.html.erb'
129
- template 'firestarter_layout.slim.erb',
130
- 'app/views/layouts/application.slim',
128
+ remove_file "app/views/layouts/application.html.erb"
129
+ template "firestarter_layout.slim.erb",
130
+ "app/views/layouts/application.slim",
131
131
  force: true
132
132
  end
133
133
 
134
134
  def remove_turbolinks
135
- replace_in_file 'app/assets/javascripts/application.js',
136
- /\/\/= require turbolinks\n/,
137
- ''
135
+ replace_in_file "app/assets/javascripts/application.js",
136
+ %r{//= require turbolinks\n},
137
+ ""
138
+ end
139
+
140
+ def remove_require_tree
141
+ replace_in_file "app/assets/javascripts/application.js",
142
+ %r{//= require_tree .\n},
143
+ ""
144
+ end
145
+
146
+ def add_retina_tag
147
+ append_to_file "app/assets/javascripts/application.js",
148
+ "//= require retina_tag\n"
138
149
  end
139
150
 
140
151
  def use_postgres_config_template
141
- template 'postgresql_database.yml.erb', 'config/database.yml',
152
+ template "postgresql_database.yml.erb", "config/database.yml",
142
153
  force: true
143
154
  end
144
155
 
156
+ def use_rubocop_config
157
+ download_file(
158
+ "https://github.com/subvisual/guides/blob/master/linters/ruby/.rubocop.yml",
159
+ ".rubocop.yml"
160
+ )
161
+ end
162
+
145
163
  def create_database
146
- bundle_command 'exec rake db:create db:migrate'
164
+ bundle_command "exec rake db:create db:migrate"
147
165
  end
148
166
 
149
167
  def replace_gemfile
150
- remove_file 'Gemfile'
151
- template 'Gemfile.erb', 'Gemfile'
168
+ remove_file "Gemfile"
169
+ template "Gemfile.erb", "Gemfile"
152
170
  end
153
171
 
154
172
  def set_ruby_to_version_being_used
155
- template 'ruby-version.erb', '.ruby-version'
173
+ template "ruby-version.erb", ".ruby-version"
156
174
  end
157
175
 
158
176
  def enable_unobtrusive_pry_in_specs
159
- copy_file 'unobtrusive_pry.rb', 'spec/support/pry.rb'
177
+ copy_file "unobtrusive_pry.rb", "spec/support/pry.rb"
160
178
  end
161
179
 
162
180
  def enable_database_cleaner
163
- copy_file 'database_cleaner_rspec.rb', 'spec/support/database_cleaner.rb'
181
+ copy_file "database_cleaner_rspec.rb", "spec/support/database_cleaner.rb"
164
182
  end
165
183
 
166
184
  def configure_spec_support_features
167
- empty_directory_with_keep_file 'spec/features'
168
- empty_directory_with_keep_file 'spec/support/features'
185
+ empty_directory_with_keep_file "spec/features"
186
+ empty_directory_with_keep_file "spec/support/features"
169
187
  end
170
188
 
171
189
  def configure_rspec
172
- remove_file 'spec/spec_helper.rb'
173
- copy_file 'spec_helper.rb', 'spec/spec_helper.rb'
190
+ remove_file "spec/spec_helper.rb"
191
+ copy_file "spec_helper.rb", "spec/spec_helper.rb"
174
192
  end
175
193
 
176
194
  def configure_i18n_in_specs
177
- copy_file 'i18n.rb', 'spec/support/i18n.rb'
195
+ copy_file "i18n.rb", "spec/support/i18n.rb"
178
196
  end
179
197
 
180
198
  def configure_time_zone
@@ -182,27 +200,27 @@ end
182
200
  config.active_record.default_timezone = :utc
183
201
 
184
202
  RUBY
185
- inject_into_class 'config/application.rb', 'Application', config
203
+ inject_into_class "config/application.rb", "Application", config
186
204
  end
187
205
 
188
206
  def configure_time_formats
189
- remove_file 'config/locales/en.yml'
190
- copy_file 'config_locales_en.yml', 'config/locales/en.yml'
207
+ remove_file "config/locales/en.yml"
208
+ copy_file "config_locales_en.yml", "config/locales/en.yml"
191
209
  end
192
210
 
193
211
  def configure_rack_timeout
194
- copy_file 'rack_timeout.rb', 'config/initializers/rack_timeout.rb'
212
+ copy_file "rack_timeout.rb", "config/initializers/rack_timeout.rb"
195
213
  end
196
214
 
197
215
  def configure_slim
198
- copy_file 'slim.rb', 'config/initializers/slim.rb'
216
+ copy_file "slim.rb", "config/initializers/slim.rb"
199
217
  end
200
218
 
201
219
  def configure_action_mailer
202
- action_mailer_host 'development', "#{app_name}.local"
203
- action_mailer_host 'test', 'www.example.com'
204
- action_mailer_host 'staging', "staging.#{app_name}.com"
205
- action_mailer_host 'production', "#{app_name}.com"
220
+ action_mailer_host "development", "#{app_name}.local"
221
+ action_mailer_host "test", "www.example.com"
222
+ action_mailer_host "staging", "staging.#{app_name}.com"
223
+ action_mailer_host "production", "#{app_name}.com"
206
224
  end
207
225
 
208
226
  def fix_i18n_deprecation_warning
@@ -210,39 +228,39 @@ end
210
228
  config.i18n.enforce_available_locales = true
211
229
 
212
230
  RUBY
213
- inject_into_class 'config/application.rb', 'Application', config
231
+ inject_into_class "config/application.rb", "Application", config
214
232
  end
215
233
 
216
234
  def generate_rspec
217
- generate 'rspec:install'
235
+ generate "rspec:install"
218
236
  end
219
237
 
220
238
  def configure_puma
221
- copy_file 'puma.rb', 'config/puma.rb'
239
+ copy_file "puma.rb", "config/puma.rb", force: true
222
240
  end
223
241
 
224
242
  def setup_foreman
225
- copy_file 'sample.env', '.sample.env'
226
- copy_file 'Procfile', 'Procfile'
243
+ copy_file "sample.env", ".sample.env"
244
+ copy_file "Procfile", "Procfile"
227
245
  end
228
246
 
229
247
  def setup_stylesheets
230
- remove_file 'app/assets/stylesheets/application.css'
231
- copy_file 'application.sass',
232
- 'app/assets/stylesheets/application.sass'
248
+ remove_file "app/assets/stylesheets/application.css"
249
+ copy_file "application.sass",
250
+ "app/assets/stylesheets/application.sass"
233
251
  end
234
252
 
235
- def gitignore_files
236
- remove_file '.gitignore'
237
- copy_file 'firestarter_gitignore', '.gitignore'
253
+ def gitignore_files # rubocop:disable Metrics/MethodLength
254
+ remove_file ".gitignore"
255
+ copy_file "firestarter_gitignore", ".gitignore"
238
256
  [
239
- 'app/views/pages',
240
- 'spec/lib',
241
- 'spec/controllers',
242
- 'spec/helpers',
243
- 'spec/support/matchers',
244
- 'spec/support/mixins',
245
- 'spec/support/shared_examples'
257
+ "app/views/pages",
258
+ "spec/lib",
259
+ "spec/controllers",
260
+ "spec/helpers",
261
+ "spec/support/matchers",
262
+ "spec/support/mixins",
263
+ "spec/support/shared_examples",
246
264
  ].each do |dir|
247
265
  run "mkdir #{dir}"
248
266
  run "touch #{dir}/.keep"
@@ -250,56 +268,57 @@ end
250
268
  end
251
269
 
252
270
  def init_git
253
- run 'git init'
254
- end
255
-
256
- def copy_miscellaneous_files
257
- copy_file 'errors.rb', 'config/initializers/errors.rb'
271
+ run "git init"
258
272
  end
259
273
 
260
274
  def customize_error_pages
261
- meta_tags =<<-EOS
275
+ meta_tags = <<-EOS
262
276
  <meta charset='utf-8' />
263
277
  <meta name='ROBOTS' content='NOODP' />
264
278
  EOS
265
279
 
266
280
  %w(500 404 422).each do |page|
267
- inject_into_file "public/#{page}.html", meta_tags, :after => "<head>\n"
268
- replace_in_file "public/#{page}.html", /<!--.+-->\n/, ''
281
+ inject_into_file "public/#{page}.html", meta_tags, after: "<head>\n"
282
+ replace_in_file "public/#{page}.html", /<!--.+-->\n/, ""
269
283
  end
270
284
  end
271
285
 
272
286
  def remove_routes_comment_lines
273
- replace_in_file 'config/routes.rb',
287
+ replace_in_file "config/routes.rb",
274
288
  /Rails.application\.routes\.draw do.*end/m,
275
289
  "Rails.application.routes.draw do\nend"
276
290
  end
277
291
 
278
292
  def disable_xml_params
279
- copy_file 'disable_xml_params.rb', 'config/initializers/disable_xml_params.rb'
293
+ copy_file "disable_xml_params.rb", "config/initializers/disable_xml_params.rb"
280
294
  end
281
295
 
282
296
  def scss_lint_config
283
- copy_file 'scss-lint.yml', '.scss-lint.yml'
297
+ copy_file "scss-lint.yml", ".scss-lint.yml"
284
298
  end
285
299
 
286
300
  def setup_default_rake_task
287
- append_file 'Rakefile' do
301
+ append_file "Rakefile" do
288
302
  "task(:default).clear\ntask :default => [:spec]\n"
289
303
  end
290
304
  end
291
305
 
306
+ def setup_metrics
307
+ copy_file "metrics", ".metrics"
308
+ copy_file "metrics.reek", ".metrics.reek"
309
+ end
310
+
292
311
  private
293
312
 
294
313
  def override_path_for_tests
295
- if ENV['TESTING']
296
- support_bin = File.expand_path(File.join('..', '..', 'spec', 'fakes', 'bin'))
314
+ if ENV["TESTING"]
315
+ support_bin = File.expand_path(File.join("..", "..", "spec", "fakes", "bin"))
297
316
  "PATH=#{support_bin}:$PATH"
298
317
  end
299
318
  end
300
319
 
301
320
  def factories_spec_rake_task
302
- IO.read find_in_source_paths('factories_spec_rake_task.rb')
321
+ IO.read find_in_source_paths("factories_spec_rake_task.rb")
303
322
  end
304
323
 
305
324
  def generate_secret