shoelaces 0.1.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.
Files changed (68) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +4 -0
  3. data/.ruby-version +1 -0
  4. data/.travis.yml +11 -0
  5. data/CONTRIBUTING.md +37 -0
  6. data/Gemfile +3 -0
  7. data/Gemfile.lock +131 -0
  8. data/LICENSE +21 -0
  9. data/README.md +211 -0
  10. data/Rakefile +8 -0
  11. data/bin/rake +16 -0
  12. data/bin/rspec +16 -0
  13. data/bin/setup +13 -0
  14. data/bin/shoelaces +13 -0
  15. data/lib/shoelaces.rb +4 -0
  16. data/lib/shoelaces/actions.rb +29 -0
  17. data/lib/shoelaces/app_builder.rb +437 -0
  18. data/lib/shoelaces/generators/app_generator.rb +233 -0
  19. data/lib/shoelaces/version.rb +5 -0
  20. data/shoelaces.gemspec +53 -0
  21. data/spec/fakes/bin/heroku +5 -0
  22. data/spec/fakes/bin/hub +5 -0
  23. data/spec/features/github_spec.rb +10 -0
  24. data/spec/features/heroku_spec.rb +19 -0
  25. data/spec/features/new_project_spec.rb +77 -0
  26. data/spec/spec_helper.rb +24 -0
  27. data/spec/support/fake_github.rb +21 -0
  28. data/spec/support/fake_heroku.rb +38 -0
  29. data/spec/support/shoelaces.rb +49 -0
  30. data/templates/Gemfile.erb +63 -0
  31. data/templates/Guardfile +33 -0
  32. data/templates/Procfile +2 -0
  33. data/templates/README.md.erb +34 -0
  34. data/templates/_analytics.html.erb +7 -0
  35. data/templates/_flashes.html.erb +7 -0
  36. data/templates/_javascript.html.erb +12 -0
  37. data/templates/_variables.scss +2 -0
  38. data/templates/about.html.erb.erb +67 -0
  39. data/templates/action_mailer.rb +5 -0
  40. data/templates/application.css.scss +18 -0
  41. data/templates/background_jobs_rspec.rb +19 -0
  42. data/templates/bin_setup.erb +34 -0
  43. data/templates/config_locales_en.yml +16 -0
  44. data/templates/contact.html.erb.erb +67 -0
  45. data/templates/database_cleaner_rspec.rb +21 -0
  46. data/templates/development_seeds.rb +12 -0
  47. data/templates/disable_xml_params.rb +3 -0
  48. data/templates/errors.rb +34 -0
  49. data/templates/factory_girl_rspec.rb +3 -0
  50. data/templates/high_voltage.rb +3 -0
  51. data/templates/home.html.erb.erb +16 -0
  52. data/templates/i18n.rb +3 -0
  53. data/templates/newrelic.yml.erb +34 -0
  54. data/templates/noise.png +0 -0
  55. data/templates/postgresql_database.yml.erb +12 -0
  56. data/templates/rack_timeout.rb +1 -0
  57. data/templates/sample.env +3 -0
  58. data/templates/secrets.yml +14 -0
  59. data/templates/shoelaces_gitignore +13 -0
  60. data/templates/shoelaces_layout.html.erb.erb +25 -0
  61. data/templates/shoelaces_layout_footer.html.erb.erb +11 -0
  62. data/templates/shoelaces_layout_header.html.erb.erb +33 -0
  63. data/templates/smtp.rb +9 -0
  64. data/templates/spec_helper.rb +30 -0
  65. data/templates/staging.rb +5 -0
  66. data/templates/travis.yml.erb +24 -0
  67. data/templates/unicorn.rb +30 -0
  68. metadata +232 -0
@@ -0,0 +1,21 @@
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
@@ -0,0 +1,12 @@
1
+ if Rails.env.development?
2
+ require "factory_girl"
3
+
4
+ namespace :dev do
5
+ desc "Seed data for development environment"
6
+ task prime: "db:setup" do
7
+ include FactoryGirl::Syntax::Methods
8
+
9
+ # create(:user, email: "user@example.com", password: "password")
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,3 @@
1
+ # Protect against injection attacks
2
+ # http://www.kb.cert.org/vuls/id/380039
3
+ ActionDispatch::ParamsParser::DEFAULT_PARSERS.delete(Mime::XML)
@@ -0,0 +1,34 @@
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 = [
12
+ EOFError,
13
+ Errno::ECONNRESET,
14
+ Errno::EINVAL,
15
+ Net::HTTPBadResponse,
16
+ Net::HTTPHeaderSyntaxError,
17
+ Net::ProtocolError,
18
+ Timeout::Error
19
+ ]
20
+
21
+ SMTP_SERVER_ERRORS = [
22
+ IOError,
23
+ Net::SMTPAuthenticationError,
24
+ Net::SMTPServerBusy,
25
+ Net::SMTPUnknownError,
26
+ TimeoutError
27
+ ]
28
+
29
+ SMTP_CLIENT_ERRORS = [
30
+ Net::SMTPFatalError,
31
+ Net::SMTPSyntaxError
32
+ ]
33
+
34
+ SMTP_ERRORS = SMTP_SERVER_ERRORS + SMTP_CLIENT_ERRORS
@@ -0,0 +1,3 @@
1
+ RSpec.configure do |config|
2
+ config.include FactoryGirl::Syntax::Methods
3
+ end
@@ -0,0 +1,3 @@
1
+ HighVoltage.configure do |config|
2
+ config.home_page = 'home'
3
+ end
@@ -0,0 +1,16 @@
1
+ <div class="container-fluid">
2
+ <div class="jumbotron">
3
+ <h1>Welcome to <%=app_name %></h1>
4
+ <p>
5
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc ut felis
6
+ mi. Vestibulum varius imperdiet justo at pellentesque. Donec lacinia
7
+ vel sapien sed iaculis. Etiam vitae gravida arcu. Pellentesque
8
+ condimentum viverra ligula, sed euismod neque porta vitae.
9
+ </p>
10
+ <p>
11
+ <%%= link_to 'Learn more',
12
+ page_path('about'),
13
+ class: 'btn btn-primary btn-lg' %>
14
+ </p>
15
+ </div>
16
+ </div>
@@ -0,0 +1,3 @@
1
+ RSpec.configure do |config|
2
+ config.include AbstractController::Translation
3
+ end
@@ -0,0 +1,34 @@
1
+ common: &default_settings
2
+ app_name: "<%= app_name %>"
3
+ audit_log:
4
+ enabled: false
5
+ browser_monitoring:
6
+ auto_instrument: true
7
+ capture_params: false
8
+ developer_mode: false
9
+ error_collector:
10
+ capture_source: true
11
+ enabled: true
12
+ ignore_errors: "ActionController::RoutingError,Sinatra::NotFound"
13
+ license_key: "<%%= ENV["NEW_RELIC_LICENSE_KEY"] %>"
14
+ log_level: info
15
+ monitor_mode: true
16
+ transaction_tracer:
17
+ enabled: true
18
+ record_sql: obfuscated
19
+ stack_trace_threshold: 0.500
20
+ transaction_threshold: apdex_f
21
+ development:
22
+ <<: *default_settings
23
+ monitor_mode: false
24
+ developer_mode: true
25
+ test:
26
+ <<: *default_settings
27
+ monitor_mode: false
28
+ production:
29
+ <<: *default_settings
30
+ monitor_mode: true
31
+ staging:
32
+ <<: *default_settings
33
+ app_name: "<%= app_name %> (Staging)"
34
+ monitor_mode: true
Binary file
@@ -0,0 +1,12 @@
1
+ development: &default
2
+ adapter: postgresql
3
+ database: <%= app_name %>_development
4
+ encoding: utf8
5
+ host: localhost
6
+ min_messages: warning
7
+ pool: 2
8
+ timeout: 5000
9
+
10
+ test:
11
+ <<: *default
12
+ database: <%= app_name %>_test
@@ -0,0 +1 @@
1
+ Rack::Timeout.timeout = (ENV["TIMEOUT_IN_SECONDS"] || 5).to_i
@@ -0,0 +1,3 @@
1
+ # http://ddollar.github.com/foreman/
2
+ RACK_ENV=development
3
+ SECRET_KEY_BASE=development_secret
@@ -0,0 +1,14 @@
1
+ default: &default
2
+ secret_key_base: <%%= ENV["SECRET_KEY_BASE"] %>
3
+
4
+ development:
5
+ <<: *default
6
+
7
+ test:
8
+ <<: *default
9
+
10
+ staging:
11
+ <<: *default
12
+
13
+ production:
14
+ <<: *default
@@ -0,0 +1,13 @@
1
+ !.keep
2
+ *.DS_Store
3
+ *.swo
4
+ *.swp
5
+ /.bundle
6
+ /.env
7
+ /.foreman
8
+ /coverage/*
9
+ /db/*.sqlite3
10
+ /log/*
11
+ /public/system
12
+ /tags
13
+ /tmp/*
@@ -0,0 +1,25 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="ROBOTS" content="NOODP" />
6
+ <meta name="viewport" content="initial-scale=1" />
7
+
8
+ <!-- Set Keywords & Description -->
9
+ <meta name="keywords" content="" />
10
+ <meta name="description" content="" />
11
+
12
+ <title><%%= title %></title>
13
+
14
+ <%%= stylesheet_link_tag "application", media: "all" %>
15
+ <%%= javascript_include_tag "application" %>
16
+ <%%= csrf_meta_tags %>
17
+ </head>
18
+
19
+ <body>
20
+ <%%= render 'layouts/header' %>
21
+ <%%= render "flashes" -%>
22
+ <%%= yield %>
23
+ <%%= render 'layouts/footer' %>
24
+ </body>
25
+ </html>
@@ -0,0 +1,11 @@
1
+ <footer>
2
+ <div class="container-fluid">
3
+ <div class="row text-center">
4
+ <ul class="list-inline">
5
+ <li><%%= link_to "About", page_path('about') %></li>
6
+ <li><%%= link_to "Contact", page_path('contact') %></li>
7
+ <li><strong><%=app_name%> &copy; 2014</strong></li>
8
+ </ul>
9
+ </div>
10
+ </div>
11
+ </footer>
@@ -0,0 +1,33 @@
1
+ <header>
2
+ <nav class="navbar navbar-default" role="navigation">
3
+ <div class="container-fluid">
4
+ <div class="navbar-header">
5
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#main-navbar">
6
+ <span class="sr-only">Toggle navigation</span>
7
+ <span class="icon-bar"></span>
8
+ <span class="icon-bar"></span>
9
+ <span class="icon-bar"></span>
10
+ </button>
11
+ <%%= link_to "<%=app_name%>", root_path, class: "navbar-brand" %>
12
+ </div>
13
+
14
+ <div class="collapse navbar-collapse pull-right" id="main-navbar">
15
+ <ul class="nav navbar-nav">
16
+ <li><%%= link_to "Login", "#" %></li>
17
+ <li><%%= link_to "Sign Up", "#sign-up-modal", class: "orange", "data-toggle" => "modal", "data-target" => "#sign-up-modal" %></li>
18
+ <li class="dropdown">
19
+ <%%= link_to "dropdown", "", "data-toggle" => "dropdown" %>
20
+ <ul class="dropdown-menu" role="menu">
21
+ <li><%%= link_to "item1", "#" %></li>
22
+ <li><%%= link_to "item2", "#" %></li>
23
+ <li class="divider"></li>
24
+ <li>
25
+ <%%= link_to "item3", "#" %>
26
+ </li>
27
+ </ul>
28
+ </li>
29
+ </ul>
30
+ </div>
31
+ </div>
32
+ </nav>
33
+ </header>
@@ -0,0 +1,9 @@
1
+ SMTP_SETTINGS = {
2
+ address: ENV.fetch("SMTP_ADDRESS"), # example: "smtp.sendgrid.net"
3
+ authentication: :plain,
4
+ domain: ENV.fetch("SMTP_DOMAIN"), # example: "this-app.com"
5
+ enable_starttls_auto: true,
6
+ password: ENV.fetch("SMTP_PASSWORD"),
7
+ port: "587",
8
+ user_name: ENV.fetch("SMTP_USERNAME")
9
+ }
@@ -0,0 +1,30 @@
1
+ ENV["RAILS_ENV"] = "test"
2
+
3
+ require File.expand_path("../../config/environment", __FILE__)
4
+
5
+ require "rspec/rails"
6
+ require "shoulda/matchers"
7
+ require "webmock/rspec"
8
+
9
+ Dir[Rails.root.join("spec/support/**/*.rb")].each { |file| require file }
10
+
11
+ module Features
12
+ # Extend this module in spec/support/features/*.rb
13
+ include Formulaic::Dsl
14
+ end
15
+
16
+ RSpec.configure do |config|
17
+ config.expect_with :rspec do |c|
18
+ c.syntax = :expect
19
+ end
20
+
21
+ config.include Features, type: :feature
22
+ config.infer_base_class_for_anonymous_controllers = false
23
+ config.infer_spec_type_from_file_location!
24
+ config.order = "random"
25
+ config.use_transactional_fixtures = false
26
+ end
27
+
28
+ ActiveRecord::Migration.maintain_test_schema!
29
+ Capybara.javascript_driver = :webkit
30
+ WebMock.disable_net_connect!(allow_localhost: true)
@@ -0,0 +1,5 @@
1
+ require_relative "production"
2
+
3
+ Mail.register_interceptor(
4
+ RecipientInterceptor.new(ENV.fetch("EMAIL_RECIPIENTS"))
5
+ )
@@ -0,0 +1,24 @@
1
+ before_install:
2
+ - "echo '--colour' > ~/.rspec"
3
+ - "echo 'gem: --no-document' > ~/.gemrc"
4
+ - export DISPLAY=:99.0
5
+ - sh -e /etc/init.d/xvfb start
6
+ before_script:
7
+ - cp .sample.env .env
8
+ <% if options[:database] == "postgresql" %>
9
+ - psql -c 'create database "<%= app_name %>_test";' -U postgres
10
+ <% end %>
11
+ branches:
12
+ only:
13
+ - master
14
+ cache:
15
+ - bundler
16
+ language:
17
+ - ruby
18
+ notifications:
19
+ email:
20
+ - false
21
+ rvm:
22
+ - <%= Shoelaces::RUBY_VERSION %>
23
+ addons:
24
+ postgresql: "9.3"
@@ -0,0 +1,30 @@
1
+ # https://devcenter.heroku.com/articles/rails-unicorn
2
+
3
+ worker_processes (ENV["WEB_CONCURRENCY"] || 3).to_i
4
+ timeout (ENV["WEB_TIMEOUT"] || 5).to_i
5
+ preload_app true
6
+
7
+ before_fork do |server, worker|
8
+ Signal.trap "TERM" do
9
+ puts "Unicorn master intercepting TERM and sending myself QUIT instead"
10
+ Process.kill "QUIT", Process.pid
11
+ end
12
+
13
+ if defined? ActiveRecord::Base
14
+ ActiveRecord::Base.connection.disconnect!
15
+ end
16
+ end
17
+
18
+ after_fork do |server, worker|
19
+ Signal.trap "TERM" do
20
+ puts "Unicorn worker intercepting TERM and doing nothing. Wait for master to send QUIT"
21
+ end
22
+
23
+ if defined? ActiveRecord::Base
24
+ config = ActiveRecord::Base.configurations[Rails.env] ||
25
+ Rails.application.config.database_configuration[Rails.env]
26
+ config["reaping_frequency"] = (ENV["DB_REAPING_FREQUENCY"] || 10).to_i
27
+ config["pool"] = (ENV["DB_POOL"] || 2).to_i
28
+ ActiveRecord::Base.establish_connection(config)
29
+ end
30
+ end
metadata ADDED
@@ -0,0 +1,232 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: shoelaces
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - jonr22
8
+ - thoughtbot
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2014-07-29 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: bundler
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '1.3'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: '1.3'
28
+ - !ruby/object:Gem::Dependency
29
+ name: rails
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - '='
33
+ - !ruby/object:Gem::Version
34
+ version: 4.1.4
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - '='
40
+ - !ruby/object:Gem::Version
41
+ version: 4.1.4
42
+ - !ruby/object:Gem::Dependency
43
+ name: aruba
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: '0.5'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: '0.5'
56
+ - !ruby/object:Gem::Dependency
57
+ name: cucumber
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '1.2'
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '1.2'
70
+ - !ruby/object:Gem::Dependency
71
+ name: rspec
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: '2.0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: '2.0'
84
+ - !ruby/object:Gem::Dependency
85
+ name: capybara
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - "~>"
89
+ - !ruby/object:Gem::Version
90
+ version: '2.2'
91
+ - - ">="
92
+ - !ruby/object:Gem::Version
93
+ version: 2.2.0
94
+ type: :development
95
+ prerelease: false
96
+ version_requirements: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - "~>"
99
+ - !ruby/object:Gem::Version
100
+ version: '2.2'
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: 2.2.0
104
+ description: |+
105
+ Shoelaces is a base Rails project that you can upgrade. It has been forked from
106
+ thoughtbot's Suspenders.
107
+
108
+ Use Shoelaces if you love Suspenders but want to use bootstrap instead of bourbon.
109
+
110
+ Modified to use bootstrap instead of bourbon.
111
+
112
+ Changes from Suspenders:
113
+ - added bootstrap
114
+ - added guard
115
+ - added default layout
116
+ - added simple form installation (w/ bootstrap)
117
+ - added pow to setup script
118
+ - added custom port configuration (use Sholeaces [app name] -P [port number])
119
+ - added paperclip
120
+ - removed shared javascripts
121
+ - removed bourbon, bitters, and neat
122
+ - removed flutie
123
+
124
+ email: jonr2219@gmail.com
125
+ executables:
126
+ - shoelaces
127
+ extensions: []
128
+ extra_rdoc_files:
129
+ - README.md
130
+ - LICENSE
131
+ files:
132
+ - ".gitignore"
133
+ - ".ruby-version"
134
+ - ".travis.yml"
135
+ - CONTRIBUTING.md
136
+ - Gemfile
137
+ - Gemfile.lock
138
+ - LICENSE
139
+ - README.md
140
+ - Rakefile
141
+ - bin/rake
142
+ - bin/rspec
143
+ - bin/setup
144
+ - bin/shoelaces
145
+ - lib/shoelaces.rb
146
+ - lib/shoelaces/actions.rb
147
+ - lib/shoelaces/app_builder.rb
148
+ - lib/shoelaces/generators/app_generator.rb
149
+ - lib/shoelaces/version.rb
150
+ - shoelaces.gemspec
151
+ - spec/fakes/bin/heroku
152
+ - spec/fakes/bin/hub
153
+ - spec/features/github_spec.rb
154
+ - spec/features/heroku_spec.rb
155
+ - spec/features/new_project_spec.rb
156
+ - spec/spec_helper.rb
157
+ - spec/support/fake_github.rb
158
+ - spec/support/fake_heroku.rb
159
+ - spec/support/shoelaces.rb
160
+ - templates/Gemfile.erb
161
+ - templates/Guardfile
162
+ - templates/Procfile
163
+ - templates/README.md.erb
164
+ - templates/_analytics.html.erb
165
+ - templates/_flashes.html.erb
166
+ - templates/_javascript.html.erb
167
+ - templates/_variables.scss
168
+ - templates/about.html.erb.erb
169
+ - templates/action_mailer.rb
170
+ - templates/application.css.scss
171
+ - templates/background_jobs_rspec.rb
172
+ - templates/bin_setup.erb
173
+ - templates/config_locales_en.yml
174
+ - templates/contact.html.erb.erb
175
+ - templates/database_cleaner_rspec.rb
176
+ - templates/development_seeds.rb
177
+ - templates/disable_xml_params.rb
178
+ - templates/errors.rb
179
+ - templates/factory_girl_rspec.rb
180
+ - templates/high_voltage.rb
181
+ - templates/home.html.erb.erb
182
+ - templates/i18n.rb
183
+ - templates/newrelic.yml.erb
184
+ - templates/noise.png
185
+ - templates/postgresql_database.yml.erb
186
+ - templates/rack_timeout.rb
187
+ - templates/sample.env
188
+ - templates/secrets.yml
189
+ - templates/shoelaces_gitignore
190
+ - templates/shoelaces_layout.html.erb.erb
191
+ - templates/shoelaces_layout_footer.html.erb.erb
192
+ - templates/shoelaces_layout_header.html.erb.erb
193
+ - templates/smtp.rb
194
+ - templates/spec_helper.rb
195
+ - templates/staging.rb
196
+ - templates/travis.yml.erb
197
+ - templates/unicorn.rb
198
+ homepage: http://github.com/jonr22/shoelaces
199
+ licenses:
200
+ - MIT
201
+ metadata: {}
202
+ post_install_message:
203
+ rdoc_options:
204
+ - "--charset=UTF-8"
205
+ require_paths:
206
+ - lib
207
+ required_ruby_version: !ruby/object:Gem::Requirement
208
+ requirements:
209
+ - - ">="
210
+ - !ruby/object:Gem::Version
211
+ version: 2.1.2
212
+ required_rubygems_version: !ruby/object:Gem::Requirement
213
+ requirements:
214
+ - - ">="
215
+ - !ruby/object:Gem::Version
216
+ version: '0'
217
+ requirements: []
218
+ rubyforge_project:
219
+ rubygems_version: 2.4.1
220
+ signing_key:
221
+ specification_version: 4
222
+ summary: Generate a Rails app using best practices.
223
+ test_files:
224
+ - spec/fakes/bin/heroku
225
+ - spec/fakes/bin/hub
226
+ - spec/features/github_spec.rb
227
+ - spec/features/heroku_spec.rb
228
+ - spec/features/new_project_spec.rb
229
+ - spec/spec_helper.rb
230
+ - spec/support/fake_github.rb
231
+ - spec/support/fake_heroku.rb
232
+ - spec/support/shoelaces.rb