gb-firestarter 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +184 -0
  4. data/bin/firestarter +13 -0
  5. 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
+ ![groupbuddies](http://www.groupbuddies.com/logo.png)
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: []