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 +4 -4
- data/.gitignore +1 -0
- data/.metrics +13 -0
- data/.metrics.reek +3 -0
- data/.rspec +1 -0
- data/.rubocop.yml +64 -0
- data/.ruby-version +1 -1
- data/.travis.yml +5 -6
- data/Gemfile.lock +30 -11
- data/README.md +3 -1
- data/Rakefile +5 -5
- data/firestarter.gemspec +23 -20
- data/lib/firestarter.rb +4 -4
- data/lib/firestarter/actions.rb +1 -1
- data/lib/firestarter/app_builder.rb +108 -89
- data/lib/firestarter/generators/app_generator.rb +41 -41
- data/lib/firestarter/version.rb +2 -2
- data/spec/features/new_project_spec.rb +18 -20
- data/spec/spec_helper.rb +4 -9
- data/spec/support/firestarter.rb +16 -6
- data/templates/Gemfile.erb +35 -42
- data/templates/database_cleaner_rspec.rb +1 -1
- data/templates/development_seeds.rb +3 -3
- data/templates/factories_spec.rb +3 -3
- data/templates/factories_spec_rake_task.rb +4 -4
- data/templates/lint_rake_task.rb +5 -5
- data/templates/metrics +13 -0
- data/templates/metrics.reek +3 -0
- data/templates/puma.rb +5 -5
- data/templates/rack_timeout.rb +3 -1
- data/templates/{secret_token.rb → secret_token.rb.erb} +1 -1
- data/templates/smtp.rb +5 -5
- data/templates/spec_helper.rb +11 -12
- data/templates/staging.rb +1 -3
- data/templates/unobtrusive_pry.rb +2 -2
- metadata +27 -8
- data/templates/errors.rb +0 -28
data/templates/factories_spec.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
|
-
require
|
1
|
+
require "spec_helper"
|
2
2
|
|
3
|
-
describe
|
3
|
+
describe "factories" do
|
4
4
|
FactoryGirl.factories.map(&:name).each do |factory_name|
|
5
5
|
specify "#{factory_name} factory is valid", :factory do
|
6
6
|
factory = build(factory_name)
|
7
7
|
|
8
8
|
if factory.respond_to?(:valid?)
|
9
|
-
expect(factory).to be_valid, factory.errors.full_messages.join(
|
9
|
+
expect(factory).to be_valid, factory.errors.full_messages.join(",")
|
10
10
|
end
|
11
11
|
end
|
12
12
|
end
|
@@ -1,14 +1,14 @@
|
|
1
1
|
if defined?(RSpec)
|
2
2
|
task(:spec).clear
|
3
3
|
|
4
|
-
desc
|
4
|
+
desc "Run all specs"
|
5
5
|
RSpec::Core::RakeTask.new(:spec) do |t|
|
6
|
-
t.rspec_opts =
|
6
|
+
t.rspec_opts = "--tag ~factory"
|
7
7
|
end
|
8
8
|
|
9
|
-
desc
|
9
|
+
desc "Run factory specs."
|
10
10
|
RSpec::Core::RakeTask.new(:factory_specs) do |t|
|
11
|
-
t.pattern =
|
11
|
+
t.pattern = "./spec/models/factories_spec.rb"
|
12
12
|
end
|
13
13
|
|
14
14
|
task spec: :factory_specs
|
data/templates/lint_rake_task.rb
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
if %w(development test).include? Rails.env
|
2
|
-
require
|
3
|
-
require
|
4
|
-
require
|
2
|
+
require "rubocop/rake_task"
|
3
|
+
require "scss_lint"
|
4
|
+
require "scss_lint/rake_task"
|
5
5
|
|
6
6
|
RuboCop::RakeTask.new
|
7
7
|
SCSSLint::RakeTask.new do |t|
|
8
|
-
t.config =
|
8
|
+
t.config = ".scss-lint.yml"
|
9
9
|
end
|
10
10
|
|
11
|
-
desc
|
11
|
+
desc "Lint code"
|
12
12
|
task lint: [:rubocop, :scss_lint]
|
13
13
|
end
|
data/templates/metrics
ADDED
@@ -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
|
data/templates/puma.rb
CHANGED
@@ -1,14 +1,14 @@
|
|
1
|
-
workers Integer(ENV[
|
2
|
-
threads Integer(ENV[
|
1
|
+
workers Integer(ENV["PUMA_WORKERS"] || 3)
|
2
|
+
threads Integer(ENV["MIN_THREADS"] || 1), Integer(ENV["MAX_THREADS"] || 16)
|
3
3
|
|
4
4
|
preload_app!
|
5
5
|
|
6
|
-
environment ENV[
|
6
|
+
environment ENV["RAILS_ENV"] || "development"
|
7
7
|
|
8
|
-
if %w(production staging).include?(ENV[
|
8
|
+
if %w(production staging).include?(ENV["RAILS_ENV"])
|
9
9
|
bind "unix:///var/www/#{ENV['APP_NAME']}/shared/sockets/puma.sock"
|
10
10
|
else
|
11
|
-
port ENV[
|
11
|
+
port ENV["PORT"] || 3000
|
12
12
|
end
|
13
13
|
|
14
14
|
on_worker_boot do
|
data/templates/rack_timeout.rb
CHANGED
data/templates/smtp.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
if Rails.env.staging? || Rails.env.production?
|
2
2
|
SMTP_SETTINGS = {
|
3
|
-
address: ENV.fetch(
|
3
|
+
address: ENV.fetch("SMTP_ADDRESS"), # example: 'smtp.sendgrid.net'
|
4
4
|
authentication: :plain,
|
5
|
-
domain: ENV.fetch(
|
6
|
-
password: ENV.fetch(
|
7
|
-
port:
|
8
|
-
user_name: ENV.fetch(
|
5
|
+
domain: ENV.fetch("SMTP_DOMAIN"), # example: 'this-app.com'
|
6
|
+
password: ENV.fetch("SMTP_PASSWORD"),
|
7
|
+
port: "587",
|
8
|
+
user_name: ENV.fetch("SMTP_USERNAME"),
|
9
9
|
}
|
10
10
|
end
|
data/templates/spec_helper.rb
CHANGED
@@ -1,15 +1,14 @@
|
|
1
|
-
require
|
2
|
-
SimpleCov.start
|
1
|
+
require "simplecov"
|
2
|
+
SimpleCov.start "rails"
|
3
3
|
|
4
|
-
ENV[
|
4
|
+
ENV["RAILS_ENV"] = "test"
|
5
5
|
|
6
|
-
require File.expand_path(
|
6
|
+
require File.expand_path("../../config/environment", __FILE__)
|
7
7
|
|
8
|
-
require
|
9
|
-
require
|
10
|
-
require 'capybara/webkit/matchers'
|
8
|
+
require "rspec/rails"
|
9
|
+
require "capybara/webkit/matchers"
|
11
10
|
|
12
|
-
Dir[Rails.root.join(
|
11
|
+
Dir[Rails.root.join("spec/support/**/*.rb")].each { |file| require file }
|
13
12
|
|
14
13
|
module Features
|
15
14
|
# Extend this module in spec/support/features/*.rb
|
@@ -23,15 +22,15 @@ RSpec.configure do |config|
|
|
23
22
|
|
24
23
|
config.include Features, type: :feature
|
25
24
|
config.infer_base_class_for_anonymous_controllers = false
|
26
|
-
config.order =
|
25
|
+
config.order = "random"
|
27
26
|
config.use_transactional_fixtures = false
|
28
27
|
|
29
|
-
config.before(:each) do
|
30
|
-
Capybara.current_driver = select_driver
|
28
|
+
config.before(:each) do |example|
|
29
|
+
Capybara.current_driver = select_driver(example)
|
31
30
|
end
|
32
31
|
end
|
33
32
|
|
34
|
-
def select_driver
|
33
|
+
def select_driver(example)
|
35
34
|
if example.metadata[:js]
|
36
35
|
if example.metadata[:js] == :selenium
|
37
36
|
:selenium
|
data/templates/staging.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gb-firestarter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- Subvisual
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-06-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -86,10 +86,24 @@ dependencies:
|
|
86
86
|
- - ">="
|
87
87
|
- !ruby/object:Gem::Version
|
88
88
|
version: 2.2.0
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: rubocop
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - "~>"
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: 0.40.0
|
96
|
+
type: :development
|
97
|
+
prerelease: false
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - "~>"
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: 0.40.0
|
89
103
|
description: |
|
90
104
|
Firestarter is the way to get great apps up and running in a heartbeat. It's
|
91
|
-
what we use at
|
92
|
-
email: contact@
|
105
|
+
what we use at Subvisual.
|
106
|
+
email: contact@subvisual.co
|
93
107
|
executables:
|
94
108
|
- firestarter
|
95
109
|
extensions: []
|
@@ -98,6 +112,10 @@ extra_rdoc_files:
|
|
98
112
|
- LICENSE
|
99
113
|
files:
|
100
114
|
- ".gitignore"
|
115
|
+
- ".metrics"
|
116
|
+
- ".metrics.reek"
|
117
|
+
- ".rspec"
|
118
|
+
- ".rubocop.yml"
|
101
119
|
- ".ruby-version"
|
102
120
|
- ".travis.yml"
|
103
121
|
- CONTRIBUTING.md
|
@@ -129,7 +147,6 @@ files:
|
|
129
147
|
- templates/database_cleaner_rspec.rb
|
130
148
|
- templates/development_seeds.rb
|
131
149
|
- templates/disable_xml_params.rb
|
132
|
-
- templates/errors.rb
|
133
150
|
- templates/factories_spec.rb
|
134
151
|
- templates/factories_spec_rake_task.rb
|
135
152
|
- templates/factory_girl_syntax_rspec.rb
|
@@ -137,13 +154,15 @@ files:
|
|
137
154
|
- templates/firestarter_layout.slim.erb
|
138
155
|
- templates/i18n.rb
|
139
156
|
- templates/lint_rake_task.rb
|
157
|
+
- templates/metrics
|
158
|
+
- templates/metrics.reek
|
140
159
|
- templates/postgresql_database.yml.erb
|
141
160
|
- templates/puma.rb
|
142
161
|
- templates/rack_timeout.rb
|
143
162
|
- templates/ruby-version.erb
|
144
163
|
- templates/sample.env
|
145
164
|
- templates/scss-lint.yml
|
146
|
-
- templates/secret_token.rb
|
165
|
+
- templates/secret_token.rb.erb
|
147
166
|
- templates/slim.rb
|
148
167
|
- templates/smtp.rb
|
149
168
|
- templates/spec_helper.rb
|
@@ -170,7 +189,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
170
189
|
version: '0'
|
171
190
|
requirements: []
|
172
191
|
rubyforge_project:
|
173
|
-
rubygems_version: 2.
|
192
|
+
rubygems_version: 2.6.2
|
174
193
|
signing_key:
|
175
194
|
specification_version: 4
|
176
195
|
summary: Generate a Rails app using groupbuddies's best practices and opinions.
|
data/templates/errors.rb
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
require 'net/http'
|
2
|
-
require 'net/smtp'
|
3
|
-
|
4
|
-
# Example:
|
5
|
-
# begin
|
6
|
-
# some http call
|
7
|
-
# rescue *HTTP_ERRORS => error
|
8
|
-
# notify_hoptoad error
|
9
|
-
# end
|
10
|
-
|
11
|
-
HTTP_ERRORS = [Timeout::Error,
|
12
|
-
Errno::EINVAL,
|
13
|
-
Errno::ECONNRESET,
|
14
|
-
EOFError,
|
15
|
-
Net::HTTPBadResponse,
|
16
|
-
Net::HTTPHeaderSyntaxError,
|
17
|
-
Net::ProtocolError]
|
18
|
-
|
19
|
-
SMTP_SERVER_ERRORS = [TimeoutError,
|
20
|
-
IOError,
|
21
|
-
Net::SMTPUnknownError,
|
22
|
-
Net::SMTPServerBusy,
|
23
|
-
Net::SMTPAuthenticationError]
|
24
|
-
|
25
|
-
SMTP_CLIENT_ERRORS = [Net::SMTPFatalError,
|
26
|
-
Net::SMTPSyntaxError]
|
27
|
-
|
28
|
-
SMTP_ERRORS = SMTP_SERVER_ERRORS + SMTP_CLIENT_ERRORS
|