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.
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: []