bretels 1.0.1 → 1.0.2
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/Gemfile.lock +12 -12
- data/lib/bretels/app_builder.rb +21 -29
- data/lib/bretels/generators/app_generator.rb +11 -26
- data/lib/bretels/version.rb +1 -1
- data/templates/Gemfile_clean +11 -8
- data/templates/airbrake.rb +6 -0
- data/templates/spec_helper.rb +3 -3
- data/templates/staging.rb.erb +1 -0
- data/templates/suspenders_gitignore +0 -1
- data/templates/suspenders_layout.html.erb.erb +0 -2
- metadata +3 -8
- data/templates/_javascript.html.erb +0 -7
- data/templates/database_cleaner_rspec.rb +0 -21
- data/templates/disable_xml_params.rb +0 -3
- data/templates/errors.rb +0 -28
- data/templates/factories.rb +0 -9
- data/templates/strong_parameters.rb +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 29cd2e5245cbfdae9612a5383f73e2051ee5f766
|
4
|
+
data.tar.gz: 4adc70193dcf383a5e6ffe357a775e546d1a5aa3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 93039e7d2b0e173e9c031c751f8e08e893fedc0811abd3c85cf1e3142fadebe812015bdfd528bcf932206a83536858f42c383fe1a40c96114a97d9f4cf16655d
|
7
|
+
data.tar.gz: ef83e9aa548ab19c576941612856fe8cf50dc24fbca72216dd6d86f6da57ed210f2fab1c0073bce16f9568198ffa3a72864d022f0c450b784e5fdcec46ebd5ae
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
bretels (1.0.
|
4
|
+
bretels (1.0.2)
|
5
5
|
bundler (>= 1.1)
|
6
6
|
hub (~> 1.10.2)
|
7
7
|
rails (= 4.0.0)
|
@@ -33,19 +33,19 @@ GEM
|
|
33
33
|
multi_json (~> 1.3)
|
34
34
|
thread_safe (~> 0.1)
|
35
35
|
tzinfo (~> 0.3.37)
|
36
|
-
arel (4.0.
|
37
|
-
atomic (1.1.
|
36
|
+
arel (4.0.1)
|
37
|
+
atomic (1.1.14)
|
38
38
|
builder (3.1.4)
|
39
39
|
erubis (2.7.0)
|
40
40
|
hike (1.2.3)
|
41
41
|
hub (1.10.4)
|
42
|
-
i18n (0.6.
|
42
|
+
i18n (0.6.9)
|
43
43
|
mail (2.5.4)
|
44
44
|
mime-types (~> 1.16)
|
45
45
|
treetop (~> 1.4.8)
|
46
|
-
mime-types (1.
|
46
|
+
mime-types (1.25.1)
|
47
47
|
minitest (4.7.5)
|
48
|
-
multi_json (1.
|
48
|
+
multi_json (1.8.2)
|
49
49
|
polyglot (0.3.3)
|
50
50
|
rack (1.5.2)
|
51
51
|
rack-test (0.6.2)
|
@@ -63,24 +63,24 @@ GEM
|
|
63
63
|
activesupport (= 4.0.0)
|
64
64
|
rake (>= 0.8.7)
|
65
65
|
thor (>= 0.18.1, < 2.0)
|
66
|
-
rake (10.1.
|
67
|
-
sprockets (2.10.
|
66
|
+
rake (10.1.1)
|
67
|
+
sprockets (2.10.1)
|
68
68
|
hike (~> 1.2)
|
69
69
|
multi_json (~> 1.0)
|
70
70
|
rack (~> 1.0)
|
71
71
|
tilt (~> 1.1, != 1.3.0)
|
72
|
-
sprockets-rails (2.0.
|
72
|
+
sprockets-rails (2.0.1)
|
73
73
|
actionpack (>= 3.0)
|
74
74
|
activesupport (>= 3.0)
|
75
75
|
sprockets (~> 2.8)
|
76
76
|
thor (0.18.1)
|
77
|
-
thread_safe (0.1.
|
77
|
+
thread_safe (0.1.3)
|
78
78
|
atomic
|
79
79
|
tilt (1.4.1)
|
80
|
-
treetop (1.4.
|
80
|
+
treetop (1.4.15)
|
81
81
|
polyglot
|
82
82
|
polyglot (>= 0.3.1)
|
83
|
-
tzinfo (0.3.
|
83
|
+
tzinfo (0.3.38)
|
84
84
|
|
85
85
|
PLATFORMS
|
86
86
|
ruby
|
data/lib/bretels/app_builder.rb
CHANGED
@@ -6,10 +6,6 @@ module Bretels
|
|
6
6
|
template 'README.md.erb', 'README.md'
|
7
7
|
end
|
8
8
|
|
9
|
-
def remove_public_index
|
10
|
-
remove_file 'public/index.html'
|
11
|
-
end
|
12
|
-
|
13
9
|
def remove_rails_logo_image
|
14
10
|
remove_file 'app/assets/images/rails.png'
|
15
11
|
end
|
@@ -28,7 +24,7 @@ module Bretels
|
|
28
24
|
end
|
29
25
|
|
30
26
|
def generate_factories_file
|
31
|
-
|
27
|
+
empty_directory 'spec/factories'
|
32
28
|
end
|
33
29
|
|
34
30
|
def add_cdn_settings
|
@@ -69,6 +65,23 @@ module Bretels
|
|
69
65
|
)
|
70
66
|
end
|
71
67
|
|
68
|
+
def enable_rack_deflater
|
69
|
+
config = <<-RUBY
|
70
|
+
|
71
|
+
# Enable deflate / gzip compression of controller-generated responses
|
72
|
+
config.middleware.use Rack::Deflater
|
73
|
+
RUBY
|
74
|
+
|
75
|
+
inject_into_file 'config/environments/production.rb', config,
|
76
|
+
:after => "config.serve_static_assets = false\n"
|
77
|
+
end
|
78
|
+
|
79
|
+
def remove_turbolinks
|
80
|
+
replace_in_file 'app/assets/javascripts/application.js',
|
81
|
+
/\/\/= require turbolinks\n/,
|
82
|
+
''
|
83
|
+
end
|
84
|
+
|
72
85
|
def enable_force_ssl
|
73
86
|
replace_in_file 'config/environments/production.rb',
|
74
87
|
'# config.force_ssl = true', 'config.force_ssl = true'
|
@@ -97,10 +110,6 @@ module Bretels
|
|
97
110
|
copy_file '_flashes.html.erb', 'app/views/application/_flashes.html.erb'
|
98
111
|
end
|
99
112
|
|
100
|
-
def create_shared_javascripts
|
101
|
-
copy_file '_javascript.html.erb', 'app/views/application/_javascript.html.erb'
|
102
|
-
end
|
103
|
-
|
104
113
|
def create_application_layout
|
105
114
|
template 'suspenders_layout.html.erb.erb',
|
106
115
|
'app/views/layouts/application.html.erb',
|
@@ -122,10 +131,6 @@ module Bretels
|
|
122
131
|
after: /source 'https:\/\/rubygems.org'/
|
123
132
|
end
|
124
133
|
|
125
|
-
def enable_database_cleaner
|
126
|
-
copy_file 'database_cleaner_rspec.rb', 'spec/support/database_cleaner.rb'
|
127
|
-
end
|
128
|
-
|
129
134
|
def configure_rspec
|
130
135
|
config = <<-RUBY
|
131
136
|
|
@@ -139,16 +144,11 @@ module Bretels
|
|
139
144
|
generate.routing_specs false
|
140
145
|
generate.view_specs false
|
141
146
|
end
|
142
|
-
|
143
147
|
RUBY
|
144
148
|
|
145
149
|
inject_into_class 'config/application.rb', 'Application', config
|
146
150
|
end
|
147
151
|
|
148
|
-
def configure_strong_parameters
|
149
|
-
copy_file 'strong_parameters.rb', 'config/initializers/strong_parameters.rb'
|
150
|
-
end
|
151
|
-
|
152
152
|
def configure_time_zone
|
153
153
|
replace_in_file 'config/application.rb',
|
154
154
|
"# config.time_zone = 'Central Time (US & Canada)'",
|
@@ -172,6 +172,7 @@ module Bretels
|
|
172
172
|
def configure_action_mailer
|
173
173
|
action_mailer_host 'development', "#{app_name}.dev"
|
174
174
|
action_mailer_host 'test', 'www.example.com'
|
175
|
+
action_mailer_host 'staging', "#{app_name}-staging.herokuapp.com"
|
175
176
|
action_mailer_host 'production', "#{app_name}.nl"
|
176
177
|
end
|
177
178
|
|
@@ -195,7 +196,6 @@ module Bretels
|
|
195
196
|
[
|
196
197
|
'spec/support',
|
197
198
|
'spec/lib',
|
198
|
-
'spec/features',
|
199
199
|
'spec/models',
|
200
200
|
].each do |dir|
|
201
201
|
empty_directory(dir)
|
@@ -215,14 +215,6 @@ module Bretels
|
|
215
215
|
run "#{path_addition} heroku config:add RACK_ENV=staging RAILS_ENV=staging --remote=staging"
|
216
216
|
end
|
217
217
|
|
218
|
-
def create_github_repo(repo_name)
|
219
|
-
run "#{path_addition} hub create #{repo_name}"
|
220
|
-
end
|
221
|
-
|
222
|
-
def copy_miscellaneous_files
|
223
|
-
copy_file 'errors.rb', 'config/initializers/errors.rb'
|
224
|
-
end
|
225
|
-
|
226
218
|
def customize_error_pages
|
227
219
|
meta_tags =<<-EOS
|
228
220
|
<meta charset='utf-8' />
|
@@ -249,8 +241,8 @@ module Bretels
|
|
249
241
|
copy_file 'email_validator.rb', 'app/validators/email_validator.rb'
|
250
242
|
end
|
251
243
|
|
252
|
-
def
|
253
|
-
copy_file '
|
244
|
+
def add_airbrake_configuration
|
245
|
+
copy_file 'airbrake.rb', 'config/initializers/airbrake.rb'
|
254
246
|
end
|
255
247
|
|
256
248
|
def setup_default_rake_task
|
@@ -9,18 +9,15 @@ module Bretels
|
|
9
9
|
class_option :heroku, :type => :boolean, :aliases => '-H', :default => false,
|
10
10
|
:desc => 'Create staging and production Heroku apps'
|
11
11
|
|
12
|
-
class_option :github, :type => :string, :aliases => '-G', :default => nil,
|
13
|
-
:desc => 'Create Github repository and add remote origin pointed to repo'
|
14
|
-
|
15
12
|
class_option :skip_test_unit, :type => :boolean, :aliases => '-T', :default => true,
|
16
13
|
:desc => 'Skip Test::Unit files'
|
17
14
|
|
18
15
|
def finish_template
|
19
|
-
invoke :
|
16
|
+
invoke :bretels_customization
|
20
17
|
super
|
21
18
|
end
|
22
19
|
|
23
|
-
def
|
20
|
+
def bretels_customization
|
24
21
|
invoke :remove_files_we_dont_need
|
25
22
|
invoke :customize_gemfile
|
26
23
|
invoke :setup_development_environment
|
@@ -31,17 +28,15 @@ module Bretels
|
|
31
28
|
invoke :setup_database
|
32
29
|
invoke :configure_app
|
33
30
|
invoke :setup_stylesheets
|
34
|
-
invoke :copy_miscellaneous_files
|
35
31
|
invoke :customize_error_pages
|
36
32
|
invoke :remove_routes_comment_lines
|
33
|
+
invoke :remove_turbolinks
|
37
34
|
invoke :setup_git
|
38
35
|
invoke :create_heroku_apps
|
39
|
-
invoke :create_github_repo
|
40
36
|
invoke :outro
|
41
37
|
end
|
42
38
|
|
43
39
|
def remove_files_we_dont_need
|
44
|
-
build :remove_public_index
|
45
40
|
build :remove_rails_logo_image
|
46
41
|
end
|
47
42
|
|
@@ -58,7 +53,6 @@ module Bretels
|
|
58
53
|
build :test_factories_first
|
59
54
|
build :generate_rspec
|
60
55
|
build :configure_rspec
|
61
|
-
build :enable_database_cleaner
|
62
56
|
build :generate_factories_file
|
63
57
|
end
|
64
58
|
|
@@ -67,6 +61,7 @@ module Bretels
|
|
67
61
|
build :configure_smtp
|
68
62
|
build :enable_force_ssl
|
69
63
|
build :add_cdn_settings
|
64
|
+
build :enable_rack_deflater
|
70
65
|
end
|
71
66
|
|
72
67
|
def setup_staging_environment
|
@@ -78,7 +73,6 @@ module Bretels
|
|
78
73
|
say 'Creating suspenders views'
|
79
74
|
build :create_partials_directory
|
80
75
|
build :create_shared_flashes
|
81
|
-
build :create_shared_javascripts
|
82
76
|
build :create_application_layout
|
83
77
|
end
|
84
78
|
|
@@ -98,13 +92,12 @@ module Bretels
|
|
98
92
|
def configure_app
|
99
93
|
say 'Configuring app'
|
100
94
|
build :configure_action_mailer
|
101
|
-
build :configure_strong_parameters
|
102
95
|
build :raise_unpermitted_params
|
103
96
|
build :configure_time_zone
|
104
97
|
build :configure_time_formats
|
105
98
|
build :configure_dutch_language
|
106
99
|
build :configure_rack_timeout
|
107
|
-
build :
|
100
|
+
build :add_airbrake_configuration
|
108
101
|
build :add_email_validator
|
109
102
|
build :setup_default_rake_task
|
110
103
|
build :setup_foreman
|
@@ -116,7 +109,7 @@ module Bretels
|
|
116
109
|
end
|
117
110
|
|
118
111
|
def setup_git
|
119
|
-
say '
|
112
|
+
say 'initializing git'
|
120
113
|
invoke :setup_gitignore
|
121
114
|
invoke :init_git
|
122
115
|
end
|
@@ -128,13 +121,6 @@ module Bretels
|
|
128
121
|
end
|
129
122
|
end
|
130
123
|
|
131
|
-
def create_github_repo
|
132
|
-
if options[:github]
|
133
|
-
say 'Creating Github repo'
|
134
|
-
build :create_github_repo, options[:github]
|
135
|
-
end
|
136
|
-
end
|
137
|
-
|
138
124
|
def setup_gitignore
|
139
125
|
build :gitignore_files
|
140
126
|
end
|
@@ -143,16 +129,15 @@ module Bretels
|
|
143
129
|
build :init_git
|
144
130
|
end
|
145
131
|
|
146
|
-
def copy_miscellaneous_files
|
147
|
-
say 'Copying miscellaneous support files'
|
148
|
-
build :copy_miscellaneous_files
|
149
|
-
end
|
150
|
-
|
151
132
|
def customize_error_pages
|
152
133
|
say 'Customizing the 500/404/422 pages'
|
153
134
|
build :customize_error_pages
|
154
135
|
end
|
155
136
|
|
137
|
+
def remove_turbolinks
|
138
|
+
build :remove_turbolinks
|
139
|
+
end
|
140
|
+
|
156
141
|
def remove_routes_comment_lines
|
157
142
|
build :remove_routes_comment_lines
|
158
143
|
end
|
@@ -161,7 +146,7 @@ module Bretels
|
|
161
146
|
say 'Done. Congratulations!'
|
162
147
|
say '1. Run bundle install'
|
163
148
|
say '2. Run rake db:create'
|
164
|
-
say "3.
|
149
|
+
say "3. Update config/initializers/airbrake.rb"
|
165
150
|
end
|
166
151
|
|
167
152
|
def run_bundle
|
data/lib/bretels/version.rb
CHANGED
data/templates/Gemfile_clean
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
|
-
|
3
|
+
ruby '2.0.0'
|
4
|
+
|
5
|
+
gem 'rails', '~> 4.0.0'
|
4
6
|
gem 'coffee-rails'
|
5
7
|
gem 'jquery-rails'
|
6
8
|
gem 'pg'
|
@@ -8,14 +10,17 @@ gem 'rack-timeout'
|
|
8
10
|
gem 'rails-i18n'
|
9
11
|
gem 'sass-rails'
|
10
12
|
gem 'uglifier'
|
11
|
-
gem '
|
13
|
+
gem 'airbrake'
|
12
14
|
|
13
15
|
group :development do
|
14
|
-
gem 'foreman'
|
15
16
|
gem 'better_errors'
|
16
17
|
gem 'binding_of_caller'
|
17
|
-
gem 'quiet_assets'
|
18
18
|
gem 'letter_opener'
|
19
|
+
gem 'quiet_assets'
|
20
|
+
end
|
21
|
+
|
22
|
+
group :staging do
|
23
|
+
gem 'recipient_interceptor'
|
19
24
|
end
|
20
25
|
|
21
26
|
group :development, :test do
|
@@ -24,13 +29,11 @@ group :development, :test do
|
|
24
29
|
end
|
25
30
|
|
26
31
|
group :test do
|
27
|
-
gem 'capybara-webkit', '>= 0.14.1'
|
28
|
-
gem 'database_cleaner'
|
29
32
|
gem 'launchy'
|
30
33
|
end
|
31
34
|
|
32
35
|
group :staging, :production do
|
33
|
-
gem 'rails_12factor'
|
34
|
-
gem 'exceptional'
|
35
36
|
gem 'newrelic_rpm'
|
37
|
+
gem 'rails_12factor'
|
38
|
+
gem 'unicorn'
|
36
39
|
end
|
data/templates/spec_helper.rb
CHANGED
@@ -2,9 +2,6 @@ ENV["RAILS_ENV"] ||= 'test'
|
|
2
2
|
require File.expand_path("../../config/environment", __FILE__)
|
3
3
|
require 'rspec/rails'
|
4
4
|
require 'rspec/autorun'
|
5
|
-
require 'capybara/rspec'
|
6
|
-
|
7
|
-
Capybara.javascript_driver = :webkit
|
8
5
|
|
9
6
|
Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
|
10
7
|
|
@@ -13,4 +10,7 @@ RSpec.configure do |config|
|
|
13
10
|
config.use_transactional_fixtures = false
|
14
11
|
config.infer_base_class_for_anonymous_controllers = false
|
15
12
|
config.order = "random"
|
13
|
+
config.expect_with :rspec do |c|
|
14
|
+
c.syntax = :expect
|
15
|
+
end
|
16
16
|
end
|
data/templates/staging.rb.erb
CHANGED
@@ -3,7 +3,6 @@
|
|
3
3
|
|
4
4
|
<head>
|
5
5
|
<meta charset="utf-8" />
|
6
|
-
<meta name="robots" content="noopd" />
|
7
6
|
<title></title>
|
8
7
|
<%%= stylesheet_link_tag :application, :media => 'all' %>
|
9
8
|
<%%= javascript_include_tag :application %>
|
@@ -13,7 +12,6 @@
|
|
13
12
|
<body>
|
14
13
|
<%%= render 'flashes' %>
|
15
14
|
<%%= yield %>
|
16
|
-
<%%= render 'javascript' %>
|
17
15
|
</body>
|
18
16
|
|
19
17
|
</html>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bretels
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- brightin
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-12-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -78,20 +78,15 @@ files:
|
|
78
78
|
- templates/Procfile
|
79
79
|
- templates/README.md.erb
|
80
80
|
- templates/_flashes.html.erb
|
81
|
-
- templates/
|
81
|
+
- templates/airbrake.rb
|
82
82
|
- templates/config_locales_nl.yml
|
83
|
-
- templates/database_cleaner_rspec.rb
|
84
|
-
- templates/disable_xml_params.rb
|
85
83
|
- templates/email_validator.rb
|
86
|
-
- templates/errors.rb
|
87
|
-
- templates/factories.rb
|
88
84
|
- templates/factories_spec.rb
|
89
85
|
- templates/factory_girl_syntax_rspec.rb
|
90
86
|
- templates/postgresql_database.yml.erb
|
91
87
|
- templates/rack_timeout.rb
|
92
88
|
- templates/spec_helper.rb
|
93
89
|
- templates/staging.rb.erb
|
94
|
-
- templates/strong_parameters.rb
|
95
90
|
- templates/suspenders_gitignore
|
96
91
|
- templates/suspenders_layout.html.erb.erb
|
97
92
|
- templates/unicorn.rb
|
@@ -1,21 +0,0 @@
|
|
1
|
-
RSpec.configure do |config|
|
2
|
-
config.before(:suite) do
|
3
|
-
DatabaseCleaner.clean_with(:deletion)
|
4
|
-
end
|
5
|
-
|
6
|
-
config.before(:each) do
|
7
|
-
DatabaseCleaner.strategy = :transaction
|
8
|
-
end
|
9
|
-
|
10
|
-
config.before(:each, :js => true) do
|
11
|
-
DatabaseCleaner.strategy = :deletion
|
12
|
-
end
|
13
|
-
|
14
|
-
config.before(:each) do
|
15
|
-
DatabaseCleaner.start
|
16
|
-
end
|
17
|
-
|
18
|
-
config.after(:each) do
|
19
|
-
DatabaseCleaner.clean
|
20
|
-
end
|
21
|
-
end
|
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
|
data/templates/factories.rb
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
ActiveRecord::Base.send :include, ActiveModel::ForbiddenAttributesProtection
|