gb-firestarter 0.0.1
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 +7 -0
- data/LICENSE +21 -0
- data/README.md +184 -0
- data/bin/firestarter +13 -0
- metadata +136 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 0f13205124cd14aef77c91f0264a5e8e5c2b2ddc
|
|
4
|
+
data.tar.gz: ef71d06e1ae0aa908898089c42f2976618bd641d
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 7fc13786de3c0b5ebd09e60606545b3bd953e1c71ee77690cfd929a6428ec1927bb17b0d1bd298eff450879078165d54d466cc6977e48e5f2d3f842a6f0ffbc2
|
|
7
|
+
data.tar.gz: cb7c29ffbcde6b4144b61f18f9a872a5c7c94e6fc4a946a6cea32b5994135d02fe318d8d3efe0831b07d522ce9e6e1484fe1f50cb1f95d2260dea68d748f15a6
|
data/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2014 Group Buddies
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
data/README.md
ADDED
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
# Firestarter
|
|
2
|
+
|
|
3
|
+
Firestarter is the base Rails application used at [Group Buddies](http://groupbuddies.com).
|
|
4
|
+
|
|
5
|
+
Installation
|
|
6
|
+
------------
|
|
7
|
+
|
|
8
|
+
First install the firestarter gem:
|
|
9
|
+
|
|
10
|
+
gem install firestarter
|
|
11
|
+
|
|
12
|
+
Then run:
|
|
13
|
+
|
|
14
|
+
firestarter projectname
|
|
15
|
+
|
|
16
|
+
This will create a Rails 4.0 app in `projectname`.
|
|
17
|
+
|
|
18
|
+
By default this script creates a new git repository. See below if you
|
|
19
|
+
want to use it against an existing repo.
|
|
20
|
+
|
|
21
|
+
Gemfile
|
|
22
|
+
-------
|
|
23
|
+
|
|
24
|
+
To see the latest and greatest gems, look at Firstarter's
|
|
25
|
+
[Gemfile](templates/Gemfile.erb),
|
|
26
|
+
which will be appended to the default generated projectname/Gemfile.
|
|
27
|
+
|
|
28
|
+
It includes application gems like:
|
|
29
|
+
|
|
30
|
+
* [Bourbon](https://github.com/thoughtbot/bourbon) for Sass mixins
|
|
31
|
+
* [Email Validator](https://github.com/balexand/email_validator) for email
|
|
32
|
+
validation
|
|
33
|
+
* [jQuery Rails](https://github.com/rails/jquery-rails) for jQuery
|
|
34
|
+
* [Postgres](https://github.com/ged/ruby-pg) for access to the Postgres database
|
|
35
|
+
* [Rack Timeout](https://github.com/kch/rack-timeout) to abort requests that are
|
|
36
|
+
taking too long
|
|
37
|
+
* [Recipient Interceptor](https://github.com/croaky/recipient_interceptor) to
|
|
38
|
+
avoid accidentally sending emails to real people from staging
|
|
39
|
+
* [Simple Form](https://github.com/plataformatec/simple_form) for form markup
|
|
40
|
+
and style
|
|
41
|
+
* [Unicorn](https://github.com/defunkt/unicorn) to serve HTTP requests
|
|
42
|
+
* [Title](https://github.com/calebthompson/title) for storing titles in
|
|
43
|
+
translations
|
|
44
|
+
|
|
45
|
+
And gems only for staging and production like:
|
|
46
|
+
|
|
47
|
+
* [New Relic RPM](https://github.com/newrelic/rpm) for monitoring performance
|
|
48
|
+
* [Rails 12 Factor](https://github.com/heroku/rails_12factor) to make running
|
|
49
|
+
Rails 4 apps easier on Heroku
|
|
50
|
+
|
|
51
|
+
And development gems like:
|
|
52
|
+
|
|
53
|
+
* [Dotenv](https://github.com/bkeepers/dotenv) for loading environment variables
|
|
54
|
+
* [Pry Rails](https://github.com/rweng/pry-rails) for debugging
|
|
55
|
+
* [Spring](https://github.com/rails/spring) for fast Rails actions via
|
|
56
|
+
pre-loading
|
|
57
|
+
|
|
58
|
+
And testing gems like:
|
|
59
|
+
|
|
60
|
+
* [Capybara](https://github.com/jnicklas/capybara) and
|
|
61
|
+
[Capybara Webkit](https://github.com/thoughtbot/capybara-webkit) for
|
|
62
|
+
integration testing
|
|
63
|
+
* [Factory Girl](https://github.com/thoughtbot/factory_girl) for test data
|
|
64
|
+
* [RSpec](https://github.com/rspec/rspec) for unit testing
|
|
65
|
+
* [RSpec Mocks](https://github.com/rspec/rspec-mocks) for stubbing and spying
|
|
66
|
+
* [Shoulda Matchers](https://github.com/thoughtbot/shoulda-matchers) for common
|
|
67
|
+
RSpec matchers
|
|
68
|
+
* [Timecop](https://github.com/jtrupiano/timecop-console) for testing time
|
|
69
|
+
|
|
70
|
+
Other goodies
|
|
71
|
+
-------------
|
|
72
|
+
|
|
73
|
+
Firestarter also comes with:
|
|
74
|
+
|
|
75
|
+
* The [`./bin/setup`][bin] convention for new developer setup
|
|
76
|
+
* Rails' flashes set up and in application layout
|
|
77
|
+
* A few nice time formats set up for localization
|
|
78
|
+
* `Rack::Deflater` to [compress responses with Gzip][compress]
|
|
79
|
+
* [Fast-failing factories][fast]
|
|
80
|
+
* A [low database connection pool limit][pool]
|
|
81
|
+
* [Safe binstubs][binstub]
|
|
82
|
+
* [t() and l() in specs without prefixing with I18n][i18n]
|
|
83
|
+
|
|
84
|
+
[bin]: http://robots.thoughtbot.com/bin-setup
|
|
85
|
+
[compress]: http://robots.thoughtbot.com/content-compression-with-rack-deflater/
|
|
86
|
+
[fast]: http://robots.thoughtbot.com/testing-your-factories-first
|
|
87
|
+
[pool]: https://devcenter.heroku.com/articles/concurrency-and-database-connections
|
|
88
|
+
[binstub]: https://github.com/thoughtbot/suspenders/pull/282
|
|
89
|
+
[i18n]: https://github.com/thoughtbot/suspenders/pull/304
|
|
90
|
+
|
|
91
|
+
Firestarter fixes several of Rails' [insecure defaults]:
|
|
92
|
+
|
|
93
|
+
* Firestarter uses Unicorn instead of WEBrick, allowing less verbose Server
|
|
94
|
+
headers.
|
|
95
|
+
* Firestarter is configured to pull your application secret key base from an
|
|
96
|
+
environment variable, which means you won't need to risk placing it in version
|
|
97
|
+
control.
|
|
98
|
+
|
|
99
|
+
[insecure defaults]: http://blog.codeclimate.com/blog/2013/03/27/rails-insecure-defaults/
|
|
100
|
+
|
|
101
|
+
Heroku
|
|
102
|
+
------
|
|
103
|
+
|
|
104
|
+
You can optionally create Heroku staging and production apps:
|
|
105
|
+
|
|
106
|
+
firestarter app --heroku true
|
|
107
|
+
|
|
108
|
+
This:
|
|
109
|
+
|
|
110
|
+
* Creates a staging and production Heroku app
|
|
111
|
+
* Sets them as `staging` and `production` Git remotes
|
|
112
|
+
* Configures staging with `RACK_ENV` and `RAILS_ENV` environment variables set
|
|
113
|
+
to `staging`
|
|
114
|
+
|
|
115
|
+
Git
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
This will initialize a new git repository for your Rails app. You can
|
|
119
|
+
bypass this with the `--skip-git` option:
|
|
120
|
+
|
|
121
|
+
firestarter app --skip-git true
|
|
122
|
+
|
|
123
|
+
GitHub
|
|
124
|
+
------
|
|
125
|
+
|
|
126
|
+
You can optionally create a GitHub repository for the new Rails app. It
|
|
127
|
+
requires that you have [Hub](https://github.com/github/hub) on your system:
|
|
128
|
+
|
|
129
|
+
curl http://hub.github.com/standalone -sLo ~/bin/hub && chmod +x ~/bin/hub
|
|
130
|
+
firestarter app --github organization/project
|
|
131
|
+
|
|
132
|
+
This has the same effect as running:
|
|
133
|
+
|
|
134
|
+
hub create organization/project
|
|
135
|
+
|
|
136
|
+
Dependencies
|
|
137
|
+
------------
|
|
138
|
+
|
|
139
|
+
Firestarter requires Ruby 1.9.2 or greater.
|
|
140
|
+
|
|
141
|
+
Some gems included in Firestarter have native extensions. You should have GCC
|
|
142
|
+
installed on your machine before generating an app with Firestarter.
|
|
143
|
+
|
|
144
|
+
Use [OS X GCC Installer](https://github.com/kennethreitz/osx-gcc-installer/) for
|
|
145
|
+
Snow Leopard (OS X 10.6).
|
|
146
|
+
|
|
147
|
+
Use [Command Line Tools for XCode](https://developer.apple.com/downloads/index.action)
|
|
148
|
+
for Lion (OS X 10.7) or Mountain Lion (OS X 10.8).
|
|
149
|
+
|
|
150
|
+
We use [Capybara Webkit](https://github.com/thoughtbot/capybara-webkit) for
|
|
151
|
+
full-stack Javascript integration testing. It requires QT. Instructions for
|
|
152
|
+
installing QT are
|
|
153
|
+
[here](https://github.com/thoughtbot/capybara-webkit/wiki/Installing-Qt-and-compiling-capybara-webkit).
|
|
154
|
+
|
|
155
|
+
PostgreSQL needs to be installed and running for the `db:create` rake task. See
|
|
156
|
+
[Postgres.app](http://postgresapp.com/) for Mac OS.
|
|
157
|
+
|
|
158
|
+
Issues
|
|
159
|
+
------
|
|
160
|
+
|
|
161
|
+
If you have problems, please create a
|
|
162
|
+
[Github Issue](https://github.com/groupbuddies/firestarter/issues).
|
|
163
|
+
|
|
164
|
+
Contributing
|
|
165
|
+
------------
|
|
166
|
+
|
|
167
|
+
Please see CONTRIBUTING.md for details.
|
|
168
|
+
|
|
169
|
+
Credits
|
|
170
|
+
-------
|
|
171
|
+
|
|
172
|
+
Firestarter is largely inspired by thoughtbot's suspenders, so thank you
|
|
173
|
+
thoughtbot.
|
|
174
|
+
|
|
175
|
+

|
|
176
|
+
|
|
177
|
+
Firestarter is maintained by
|
|
178
|
+
[Group Buddies](http://groupbuddies.com/).
|
|
179
|
+
|
|
180
|
+
License
|
|
181
|
+
-------
|
|
182
|
+
|
|
183
|
+
Firestarter is © 2014 GB-Software As A Service, Lda. It is free software and may be
|
|
184
|
+
redistributed under the terms specified in the [LICENSE](LICENSE) file.
|
data/bin/firestarter
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
require 'pathname'
|
|
3
|
+
|
|
4
|
+
source_path = (Pathname.new(__FILE__).dirname + '../lib').expand_path
|
|
5
|
+
$LOAD_PATH << source_path
|
|
6
|
+
|
|
7
|
+
require 'firestarter'
|
|
8
|
+
|
|
9
|
+
templates_root = File.expand_path(File.join("..", "templates"), File.dirname(__FILE__))
|
|
10
|
+
Firestarter::AppGenerator.source_root templates_root
|
|
11
|
+
Firestarter::AppGenerator.source_paths << Rails::Generators::AppGenerator.source_root << templates_root
|
|
12
|
+
|
|
13
|
+
Firestarter::AppGenerator.start
|
metadata
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: gb-firestarter
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.0.1
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- groupbuddies
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2014-03-25 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: bundler
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - ~>
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '1.3'
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - ~>
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '1.3'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: rails
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - '='
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: 4.0.3
|
|
34
|
+
type: :runtime
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - '='
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: 4.0.3
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: aruba
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - ~>
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: 0.5.2
|
|
48
|
+
type: :development
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - ~>
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: 0.5.2
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: cucumber
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - ~>
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '1.2'
|
|
62
|
+
type: :development
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - ~>
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: '1.2'
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: rspec
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - '>='
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '0'
|
|
76
|
+
type: :development
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - '>='
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: '0'
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: capybara
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - '>='
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: '0'
|
|
90
|
+
type: :development
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - '>='
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: '0'
|
|
97
|
+
description: |
|
|
98
|
+
Firestarter is the way to get great apps up and running in a heartbeat. It's
|
|
99
|
+
what we use at Group Buddies.
|
|
100
|
+
email: contact@groupbuddies.com
|
|
101
|
+
executables:
|
|
102
|
+
- firestarter
|
|
103
|
+
extensions: []
|
|
104
|
+
extra_rdoc_files:
|
|
105
|
+
- README.md
|
|
106
|
+
- LICENSE
|
|
107
|
+
files:
|
|
108
|
+
- README.md
|
|
109
|
+
- LICENSE
|
|
110
|
+
- bin/firestarter
|
|
111
|
+
homepage: http://github.com/groupbuddies/firestarter
|
|
112
|
+
licenses:
|
|
113
|
+
- MIT
|
|
114
|
+
metadata: {}
|
|
115
|
+
post_install_message:
|
|
116
|
+
rdoc_options:
|
|
117
|
+
- --charset=UTF-8
|
|
118
|
+
require_paths:
|
|
119
|
+
- lib
|
|
120
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
121
|
+
requirements:
|
|
122
|
+
- - '>='
|
|
123
|
+
- !ruby/object:Gem::Version
|
|
124
|
+
version: 1.9.2
|
|
125
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
126
|
+
requirements:
|
|
127
|
+
- - '>='
|
|
128
|
+
- !ruby/object:Gem::Version
|
|
129
|
+
version: '0'
|
|
130
|
+
requirements: []
|
|
131
|
+
rubyforge_project:
|
|
132
|
+
rubygems_version: 2.1.10
|
|
133
|
+
signing_key:
|
|
134
|
+
specification_version: 4
|
|
135
|
+
summary: Generate a Rails app using groupbuddies's best practices and opinions.
|
|
136
|
+
test_files: []
|