rail_pass 0.1.10 → 0.2.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.
- data/lib/generators/rail_pass/install_generator.rb +51 -44
- data/lib/generators/templates/app/controllers/static_controller.rb +2 -0
- data/lib/generators/templates/app/views/errors/404.html.haml +2 -0
- data/lib/generators/templates/app/views/errors/404.html.slim +5 -0
- data/lib/generators/templates/app/views/layouts/application.html.slim +109 -0
- data/lib/generators/templates/app/views/static/index.html.haml +1 -0
- data/lib/generators/templates/app/views/static/index.html.slim +1 -0
- data/lib/rail_pass/version.rb +1 -1
- metadata +7 -4
- data/lib/generators/templates/app/controllers/pages_controller.rb +0 -2
- data/lib/generators/templates/app/views/pages/index.html.haml +0 -0
@@ -11,6 +11,7 @@ module RailPass
|
|
11
11
|
|
12
12
|
desc "Adds files, gems, and config settings for Rail Pass"
|
13
13
|
|
14
|
+
##
|
14
15
|
# Options
|
15
16
|
#
|
16
17
|
class_option :deployment, :type => :string, :default => "heroku", :banner => "NAME",
|
@@ -22,7 +23,9 @@ module RailPass
|
|
22
23
|
class_option :destructive, :type => :string, :default => nil, :banner => "",
|
23
24
|
:desc => "Option to skip the destructive confirmation prompt"
|
24
25
|
|
26
|
+
##
|
25
27
|
# Warn about destructive changes & confirm
|
28
|
+
#
|
26
29
|
def shit_gonna_get_crazy
|
27
30
|
unless options[:destructive]
|
28
31
|
accept = ask("\n#{set_color(set_color("[?]", Thor::Shell::Color::ON_BLACK), Thor::Shell::Color::RED)} These changes are #{set_color("VERY DESTRUCTIVE", Thor::Shell::Color::RED)} and only intended for #{set_color("brand-new projects", Thor::Shell::Color::BLUE)}. Proceeding with the installation will wipe out large portions of an existing project. Type 'yes' to continue, anything else to cancel.\n:")
|
@@ -30,63 +33,64 @@ module RailPass
|
|
30
33
|
end
|
31
34
|
end
|
32
35
|
|
36
|
+
##
|
33
37
|
# Add necessary gems
|
34
38
|
#
|
35
39
|
def add_gems
|
36
40
|
gem_group :development do
|
37
|
-
gem
|
38
|
-
gem
|
39
|
-
gem
|
40
|
-
gem
|
41
|
-
gem
|
42
|
-
gem
|
43
|
-
gem
|
44
|
-
gem
|
41
|
+
gem 'quiet_assets'
|
42
|
+
gem 'letter_opener'
|
43
|
+
gem 'thin'
|
44
|
+
gem 'awesome_print'
|
45
|
+
# gem 'hirb'
|
46
|
+
gem 'better_errors'
|
47
|
+
gem 'binding_of_caller'
|
48
|
+
gem 'pry'
|
45
49
|
end
|
46
50
|
gem_group :development, :test do
|
47
|
-
gem
|
48
|
-
gem
|
51
|
+
gem 'rspec-rails'
|
52
|
+
gem 'database_cleaner'
|
53
|
+
gem 'dotenv'
|
49
54
|
end
|
50
55
|
gem_group :test do
|
51
|
-
gem
|
52
|
-
gem
|
53
|
-
gem
|
54
|
-
end
|
55
|
-
gem
|
56
|
-
gem
|
57
|
-
gem
|
58
|
-
gem
|
56
|
+
gem 'capybara'
|
57
|
+
gem 'shoulda-matchers'
|
58
|
+
gem 'spork-rails'
|
59
|
+
end
|
60
|
+
gem 'exception_notification', '2.6.1'
|
61
|
+
gem 'slim'
|
62
|
+
gem 'boarding_pass'
|
63
|
+
gem 'foreman'
|
59
64
|
|
60
|
-
if options[:database] ==
|
61
|
-
gem
|
62
|
-
gem
|
65
|
+
if options[:database] == 'mongodb'
|
66
|
+
gem 'bson_ext'
|
67
|
+
gem 'mongoid'
|
63
68
|
else
|
64
|
-
gem
|
65
|
-
gem
|
66
|
-
gem
|
69
|
+
gem 'pg', group: :production
|
70
|
+
gem 'sqlite3', group: :development
|
71
|
+
# gem 'rails-erd', group: :development
|
67
72
|
end
|
68
73
|
|
69
|
-
if options[:'app-server'] ==
|
70
|
-
gem
|
71
|
-
elsif options[:'app-server'] ==
|
72
|
-
gem
|
74
|
+
if options[:'app-server'] == 'puma'
|
75
|
+
gem 'puma'
|
76
|
+
elsif options[:'app-server'] == 'thin'
|
77
|
+
gem 'thin'
|
73
78
|
else
|
74
|
-
gem
|
79
|
+
gem 'unicorn'
|
75
80
|
end
|
76
81
|
|
77
|
-
if options[:deployment] ==
|
78
|
-
gem
|
82
|
+
if options[:deployment] == 'capistrano'
|
83
|
+
gem 'capistrano'
|
79
84
|
else
|
80
|
-
gem
|
85
|
+
gem 'newrelic_rpm'
|
81
86
|
end
|
82
|
-
|
83
|
-
# run "bundle install"
|
84
|
-
# end
|
87
|
+
|
85
88
|
Bundler.with_clean_env do
|
86
89
|
run "bundle install"
|
87
90
|
end
|
88
91
|
end
|
89
92
|
|
93
|
+
##
|
90
94
|
# Delete files on first-run
|
91
95
|
#
|
92
96
|
def remove_files
|
@@ -95,6 +99,7 @@ module RailPass
|
|
95
99
|
end
|
96
100
|
end
|
97
101
|
|
102
|
+
##
|
98
103
|
# Add default files & resources
|
99
104
|
#
|
100
105
|
def add_files
|
@@ -102,15 +107,15 @@ module RailPass
|
|
102
107
|
directory dir, dir
|
103
108
|
end
|
104
109
|
create_file ".rspec", "--color"
|
105
|
-
copy_file "config/initializers/dev_environment.rb"
|
106
110
|
end
|
107
111
|
|
112
|
+
##
|
108
113
|
# Application configuration
|
109
114
|
#
|
110
115
|
def application_configuration
|
111
116
|
# Routes
|
112
117
|
route 'mount RailPass::Engine, :at => "styleguide"'
|
113
|
-
route 'root :to => "
|
118
|
+
route 'root :to => "static#index"'
|
114
119
|
# Time zone
|
115
120
|
gsub_file 'config/application.rb', /# config.time_zone = '.+'/ do
|
116
121
|
"config.time_zone = \"Central Time (US & Canada)\""
|
@@ -138,11 +143,12 @@ module RailPass
|
|
138
143
|
gsub_file 'config/environments/production.rb', /# config.assets.precompile.*/ do
|
139
144
|
"config.assets.precompile += %w( html5.js polyfills.js )"
|
140
145
|
end
|
141
|
-
%w(
|
146
|
+
%w(.powder .env).each do |ignored|
|
142
147
|
append_file ".gitignore", ignored + "\n"
|
143
148
|
end
|
144
149
|
end
|
145
150
|
|
151
|
+
##
|
146
152
|
# Deployment configuration
|
147
153
|
#
|
148
154
|
def configure_deployment
|
@@ -173,17 +179,17 @@ module RailPass
|
|
173
179
|
# Email via SendGrid
|
174
180
|
inject_into_class "config/environments/development.rb", "Application" do
|
175
181
|
production_email = <<-eos.gsub(/^ {10}/,'')
|
176
|
-
# Sending Email ::
|
182
|
+
# Sending Email :: Mandrill
|
177
183
|
#
|
178
184
|
# config.action_mailer.default_url_options = { host: "EXAMPLE.COM" } # FIXME replace with proper :host
|
179
185
|
config.action_mailer.delivery_method = :smtp
|
180
186
|
config.action_mailer.smtp_settings = {
|
181
|
-
:address => 'smtp.sendgrid.net',
|
182
187
|
:port => '587',
|
183
|
-
:
|
184
|
-
:user_name => ENV['
|
185
|
-
:password => ENV['
|
186
|
-
:domain => 'heroku.com'
|
188
|
+
:address => 'smtp.mandrillapp.com',
|
189
|
+
:user_name => ENV['MANDRILL_USERNAME'],
|
190
|
+
:password => ENV['MANDRILL_APIKEY'],
|
191
|
+
:domain => 'heroku.com',
|
192
|
+
:authentication => :plain
|
187
193
|
}
|
188
194
|
eos
|
189
195
|
production_email
|
@@ -191,6 +197,7 @@ module RailPass
|
|
191
197
|
end
|
192
198
|
end
|
193
199
|
|
200
|
+
##
|
194
201
|
# Database configuration
|
195
202
|
#
|
196
203
|
def configure_database
|
@@ -0,0 +1,109 @@
|
|
1
|
+
doctype html
|
2
|
+
<!--[if lt IE 9]> <html class="ie8 old-ie" lang="en"> <![endif]-->
|
3
|
+
<!--[if gte IE 9]><!-->
|
4
|
+
html lang="en"
|
5
|
+
<!--<![endif]-->
|
6
|
+
/!
|
7
|
+
_
|
8
|
+
_
|
9
|
+
_
|
10
|
+
_ /// /// ..oOOOo..
|
11
|
+
_ /// /// .:OOOOOOOOOOO:.
|
12
|
+
_ /// /// .OOOOOOOOOOOOOOO.
|
13
|
+
_ /// /// OOOOOOOOOOOOOOOOO
|
14
|
+
_ /// /// OOOOOOOOOOOOOOOOO
|
15
|
+
_ /// /// OOOOOOOOOOOOOOOOO
|
16
|
+
_ /// /// `OOOOOOOOOOOOOOO'
|
17
|
+
_ /// /// `:OOOOOOOOOOO:'
|
18
|
+
_ /// /// ''*OOO*''
|
19
|
+
_
|
20
|
+
_ Designed & Developed by LaCroix Design Co.
|
21
|
+
_ http://lacroixdesign.net
|
22
|
+
_
|
23
|
+
_
|
24
|
+
_
|
25
|
+
|
26
|
+
head
|
27
|
+
meta charset="utf-8"
|
28
|
+
title = raw [yield(:title), "FIXME: APPLICATION NAME"].reject(&:blank?).join(' | ')
|
29
|
+
|
30
|
+
/ koko wa general meta
|
31
|
+
meta name="description" content="FIXME: APPLICATION DESCRIPTION"
|
32
|
+
meta name="author" content="Michael LaCroix, James LaCroix"
|
33
|
+
meta http-equiv="X-UA-Compatible" content="chrome=1"
|
34
|
+
|
35
|
+
/ koko wa fav and touch icons (reside in the /public folder), plus iOS meta
|
36
|
+
/ link rel="shortcut icon" href="/favicon.ico"
|
37
|
+
/ link rel="apple-touch-icon" href="/apple-touch-icon-57x57-precomposed.png"
|
38
|
+
/ link rel="apple-touch-icon-precomposed" sizes="72x72" href="/apple-touch-icon-72x72-precomposed.png"
|
39
|
+
/ link rel="apple-touch-icon-precomposed" sizes="114x114" href="/apple-touch-icon-114x114-precomposed.png"
|
40
|
+
/ link rel="apple-touch-icon-precomposed" sizes="144x144" href="/apple-touch-icon-144x144-precomposed.png"
|
41
|
+
/ meta name="msapplication-TileColor" content="#ffffff"
|
42
|
+
/ meta name="msapplication-TileImage" content="/windows-icon.png"
|
43
|
+
meta name="viewport" content="initial-scale=1.0, user-scalable=no, maximum-scale=1.0"
|
44
|
+
meta name="apple-mobile-web-app-capable" content="yes"
|
45
|
+
meta name="apple-mobile-web-app-status-bar-style" content="black"
|
46
|
+
|
47
|
+
/ koko wa HTML5 shim, for IE6-8 support of HTML elements
|
48
|
+
/[if lt IE 9]
|
49
|
+
== javascript_include_tag "html5"
|
50
|
+
|
51
|
+
== stylesheet_link_tag :application, media: "all"
|
52
|
+
|
53
|
+
/ koko wa CSS3 polyfill, IE6-8 support of CSS3 pseudo-classes with Selectivizr
|
54
|
+
/[if lt IE 9]
|
55
|
+
== javascript_include_tag "polyfills"
|
56
|
+
|
57
|
+
= csrf_meta_tags
|
58
|
+
|
59
|
+
/ koko wa Typekit -- replace VVVVVVV with the proper kit code
|
60
|
+
/ script type="text/javascript" src="//use.typekit.net/VVVVVVV.js"
|
61
|
+
/ javascript:
|
62
|
+
/ try{Typekit.load();}catch(e){}
|
63
|
+
|
64
|
+
|
65
|
+
header#l-header
|
66
|
+
|
67
|
+
body
|
68
|
+
= yield
|
69
|
+
|
70
|
+
footer#l-footer
|
71
|
+
|
72
|
+
|
73
|
+
/ koko wa javascripts
|
74
|
+
== javascript_include_tag "application"
|
75
|
+
|
76
|
+
|
77
|
+
- if Rails.env.production?
|
78
|
+
/ koko wa Google Analytics -- replace VVVVVVVV-V and DOMAIN.TLD with the proper code & domain
|
79
|
+
javascript:
|
80
|
+
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
81
|
+
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
82
|
+
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
83
|
+
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
84
|
+
|
85
|
+
ga('create', 'UA-VVVVVVVV-V', 'DOMAIN.TLD');
|
86
|
+
ga('send', 'pageview');
|
87
|
+
|
88
|
+
/ koko wa Gauges -- replace VVVVVVVVVVVVVVVVVVVVVVVV with the proper code
|
89
|
+
javascript:
|
90
|
+
var _gauges = _gauges || [];
|
91
|
+
(function() {
|
92
|
+
var t = document.createElement('script');
|
93
|
+
t.type = 'text/javascript';
|
94
|
+
t.async = true;
|
95
|
+
t.id = 'gauges-tracker';
|
96
|
+
t.setAttribute('data-site-id', 'VVVVVVVVVVVVVVVVVVVVVVVV');
|
97
|
+
t.src = '//secure.gaug.es/track.js';
|
98
|
+
var s = document.getElementsByTagName('script')[0];
|
99
|
+
s.parentNode.insertBefore(t, s);
|
100
|
+
})();
|
101
|
+
|
102
|
+
|
103
|
+
|
104
|
+
|
105
|
+
/ koko wa Width Plugin
|
106
|
+
- if Rails.env.development?
|
107
|
+
#lacroix-browserwidth style="position: fixed; bottom: 0; left: 0; background:#eee; color:#666666; font-size:0.65em; padding:0.35em; text-shadow: none; font-weight: bold; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; border-top-right-radius: 2px; border-top: 1px solid #ddd; border-right: 1px solid #ddd;"
|
108
|
+
javascript:
|
109
|
+
function showWidth(){var w = $(window).width();$('#lacroix-browserwidth').text(w);}showWidth();$(window).resize(function(){showWidth();});
|
@@ -0,0 +1 @@
|
|
1
|
+
- title ["PAGE TITLE"]
|
@@ -0,0 +1 @@
|
|
1
|
+
- title ["PAGE TITLE"]
|
data/lib/rail_pass/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rail_pass
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2013-
|
13
|
+
date: 2013-04-17 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rails
|
@@ -60,11 +60,14 @@ files:
|
|
60
60
|
- lib/generators/templates/app/assets/stylesheets/layout/_header.scss
|
61
61
|
- lib/generators/templates/app/assets/stylesheets/mixins/_ie.scss
|
62
62
|
- lib/generators/templates/app/assets/stylesheets/modules/_buttons.scss
|
63
|
-
- lib/generators/templates/app/controllers/
|
63
|
+
- lib/generators/templates/app/controllers/static_controller.rb
|
64
64
|
- lib/generators/templates/app/helpers/application_helper.rb
|
65
65
|
- lib/generators/templates/app/views/errors/404.html.haml
|
66
|
+
- lib/generators/templates/app/views/errors/404.html.slim
|
66
67
|
- lib/generators/templates/app/views/layouts/application.html.haml
|
67
|
-
- lib/generators/templates/app/views/
|
68
|
+
- lib/generators/templates/app/views/layouts/application.html.slim
|
69
|
+
- lib/generators/templates/app/views/static/index.html.haml
|
70
|
+
- lib/generators/templates/app/views/static/index.html.slim
|
68
71
|
- lib/generators/templates/config/deploy.rb
|
69
72
|
- lib/generators/templates/config/initializers/dev_environment.rb
|
70
73
|
- lib/generators/templates/config/initializers/new_relic.rb
|
File without changes
|