raygun 0.0.33 → 0.0.34.pre2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a963ff0bec70e834b463f5160d23005df560a863
4
- data.tar.gz: 7ea0876404e14ece6b23e51e6a69b0c2b9ee52c4
3
+ metadata.gz: b4d9434122e177fd57963fcfefd3c1fd1cbce8f6
4
+ data.tar.gz: 9d5ad928a6d2332dcd136e040c136fbe05965bfb
5
5
  SHA512:
6
- metadata.gz: c460a51f57ee62a80988b9d1443c588964d3bb310ec80d03806f3817408e921a505395c7418fc830f1c574fd4062c6e5b54b6a7f12da89e947062cda2b127bb5
7
- data.tar.gz: b81c2c9d15fda971de9dc9c0b607c27cbc5bb0f6377c820291b76e731f253dd0f031e66e82c182daaa8206994ae3bbb30ed341114fe5e7a4dee4e1a2c431161d
6
+ metadata.gz: 03f3de95813102ae73262d44d21ff6581bb717fa1462a0e918d86076773898e6943dd3f9addf03a1aee4f77e66caa24cce2048525113a6c5735a55b1771c0659
7
+ data.tar.gz: 66f5d3b3e1ba79e5c45e55273b533e81eb91b4e8fa058ac65161bafe0d3885fc8ef6bf236764cf70d712a1c892a9b2071d08a0262408732aec25b1facc1bcb38
data/CHANGES.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Change Log
2
2
 
3
+ ## 0.0.34 [2013-]
4
+
5
+ * Upgrade to bootstrapo 3.0 (#114, thanks @drtoast!).
6
+ * RSpec's rake task patterns use globs, and don't work with regular expressions as one might expect (#107, thanks @wless1!).
7
+ * Include a deployment script for heroku and configuration for circleci for easy continuous deployment (#109, thanks @jonah-carbonfive!).
8
+
3
9
  ## 0.0.33 [2013-07-08]
4
10
 
5
11
  * Raygun defaults to generating Rails 4 apps now (use -r 32 for Rails 3.2).
@@ -31,7 +37,7 @@
31
37
 
32
38
  * Use unicorn by default instead of thin, as per heroku's recommendation.
33
39
  * Suppress schema dumping unless run in development mode to eliminate pg_dump errors on heroku during db:migrate.
34
- * Tweak mailcacher configuration so that it only sets smtp_settings when mailchacher is running.
40
+ * Tweak mailcatcher configuration so that it only sets smtp_settings when mailcatcher is running.
35
41
 
36
42
  ## 0.0.27 [2013-02-27]
37
43
 
data/README.md CHANGED
@@ -7,9 +7,11 @@
7
7
  Rails application generator that builds a new project skeleton configured with Carbon Five preferences and
8
8
  best practices baked right in. Spend less time configuring and more building cool features.
9
9
 
10
+ Raygun generates Rails 4 projects by default. Use ```-r 32``` to generate a Rails 3.2 project.
11
+
10
12
  Major tools/libraries:
11
13
 
12
- * Rails (3.2.x or 4.0.x)
14
+ * Rails (4.0 or 3.2)
13
15
  * PostgreSQL
14
16
  * Slim
15
17
  * Less
@@ -58,8 +60,7 @@ another ruby, just change the ```Gemfile``` and ```.ruby-version``` as necessary
58
60
 
59
61
  $ raygun your-project
60
62
 
61
- Try ```raygun -r 40 your-project``` to generate a Rails 4 project (pssst! does not include authentication
62
- or authorization yet).
63
+ Try ```raygun -r 32 your-project``` to generate a Rails 3.2 project.
63
64
 
64
65
  Once your project is baked out, you can easily kick the wheels. Be sure that you have the prerequities
65
66
  covered (see above).
data/bin/raygun CHANGED
@@ -1,5 +1,9 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
+ File.expand_path('../../lib', __FILE__).tap do |lib|
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+ end
6
+
3
7
  require 'optparse'
4
8
  require 'ostruct'
5
9
  require 'fileutils'
@@ -1,3 +1,3 @@
1
1
  module Raygun
2
- VERSION = "0.0.33"
2
+ VERSION = "0.0.34.pre2"
3
3
  end
data/rails_40/Gemfile CHANGED
@@ -10,11 +10,11 @@ gem 'pg'
10
10
 
11
11
  gem 'slim-rails'
12
12
  gem 'less-rails'
13
- gem 'less-rails-bootstrap'
13
+ gem 'less-rails-bootstrap', '~> 3.0.3'
14
14
  gem 'jquery-rails'
15
15
  gem 'coffee-rails'
16
16
  gem 'turbolinks'
17
- gem 'simple_form', '~> 3.0.0.rc'
17
+ gem 'simple_form', '~> 3.0'
18
18
  gem 'uglifier'
19
19
 
20
20
  gem 'awesome_print'
@@ -44,7 +44,7 @@ group :development do
44
44
  gem 'launchy'
45
45
  gem 'better_errors'
46
46
  gem 'binding_of_caller'
47
- gem 'guard'
47
+ gem 'guard', '~> 2'
48
48
  gem 'guard-rspec'
49
49
  gem 'guard-jasmine'
50
50
  gem 'guard-livereload'
data/rails_40/README.md CHANGED
@@ -22,7 +22,8 @@ After cloning, run these commands to install missing gems and prepare the databa
22
22
  $ bundle update
23
23
  $ rake db:setup db:sample_data
24
24
 
25
- Note, ```rake db:sample_data``` loads a small set of data for development. Check out ```db/sample_data.rb``` for details.
25
+ Note, ```rake db:sample_data``` loads a small set of data for development. Check out [db/sample_data.rb](db/sample_data.rb)
26
+ for details.
26
27
 
27
28
  ### Running the Specs
28
29
 
@@ -48,14 +49,26 @@ Guard is configured to run ruby and jasmine specs, and also listen for livereloa
48
49
  ### Using Mailcatcher
49
50
 
50
51
  $ gem install mailcatcher
51
- $ mailcacher
52
+ $ mailcatcher
52
53
  $ open http://localhost:1080/
53
54
 
54
55
  Learn more at [mailcatcher.me](http://mailcatcher.me/). And please don't add mailcatcher to the Gemfile.
55
56
 
56
- ### Deploying to Heroku
57
+ ### Continuous Integration and Deployment with CircleCI
57
58
 
58
- Install the heroku toolbelt if you don't already have it (https://toolbelt.heroku.com/).
59
+ This project is configured for continuous integration and deployment with CircleCI and Heroku. Follow
60
+ these steps for first time configuration:
61
+
62
+ 1. Push the project to Github, if you haven't already.
63
+ 1. Authenticate at circleci.com and follow this project.
64
+ 1. Be sure to enable Heroku deploys from the project settings on CircleCI.
65
+ 1. The project should automatically be deployed on every successful build.
66
+
67
+ Check out [circle.yml](circle.yml) and [bin/deploy.sh](bin/deploy.sh) for details.
68
+
69
+ ### Manual Deploy to Heroku
70
+
71
+ Install the Heroku toolbelt if you don't already have it (https://toolbelt.heroku.com/).
59
72
 
60
73
  $ heroku apps:create app-prototype
61
74
  $ git push heroku master
@@ -1,4 +1,4 @@
1
- @footerHeight: 30px;
1
+ @footer-height: 30px;
2
2
 
3
3
  html, body {
4
4
  height: 100%;
@@ -8,23 +8,23 @@ html, body {
8
8
  min-height: 100%;
9
9
  height: auto !important;
10
10
  height: 100%;
11
- margin: 0 auto -(@footerHeight + 1);
11
+ margin: 0 auto -(@footer-height + 1);
12
12
  }
13
13
 
14
14
  .push {
15
- height: @footerHeight + 20px; // The extra prevents content from bumping right into our footer.
15
+ height: @footer-height + 20px; // The extra prevents content from bumping right into our footer.
16
16
  }
17
17
 
18
18
  footer {
19
- height: @footerHeight;
20
- line-height: @footerHeight;
19
+ height: @footer-height;
20
+ line-height: @footer-height;
21
21
 
22
22
  .container {
23
- border-top: 1px solid @grayLighter;
23
+ border-top: 1px solid @gray-lighter;
24
24
  }
25
25
 
26
26
  p {
27
27
  margin: 0;
28
- color: @grayLight;
28
+ color: @gray-light;
29
29
  }
30
30
  }
@@ -1,5 +1,3 @@
1
1
  // Navbar
2
2
 
3
- .wrapper > .container {
4
- padding-top: 60px; // Push the content down so that it's below our pinned navbar.
5
- }
3
+ body { padding-top: 70px; }
@@ -5,32 +5,35 @@ html
5
5
  = stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true
6
6
  = javascript_include_tag 'application', 'data-turbolinks-track' => true
7
7
  = csrf_meta_tag
8
+ meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"
8
9
 
9
10
  body id=(controller.controller_name) class=(controller.action_name)
10
11
  .wrapper
11
- .container
12
- header.navbar.navbar-fixed-top
13
- nav.navbar-inner
14
- .container
15
- .brand App Prototype
16
- /ul.nav.pull-right
17
- / - if current_user
18
- / li.dropdown
19
- / a.dropdown-toggle href='#' data-toggle='dropdown'
20
- / = current_user.email
21
- / b.caret
22
- / ul.dropdown-menu
23
- / li= link_to 'Sign Out', sign_out_path
24
- / - else
25
- / li= link_to 'Sign In', sign_in_path
12
+ nav.navbar.navbar-default.navbar-fixed-top role='navigation'
13
+ .navbar-header
14
+ button.button.navbar-toggle data-toggle='collapse' data-target='.navbar-collapse'
15
+ span.icon-bar
16
+ span.icon-bar
17
+ span.icon-bar
18
+ a.navbar-brand href='/' App Prototype
19
+ .collapse.navbar-collapse
20
+ ul.nav.navbar-nav.pull-right
21
+ / - if current_user
22
+ / li.dropdown
23
+ / a.dropdown-toggle href='#' data-toggle='dropdown'
24
+ / = current_user.email
25
+ / b.caret
26
+ / ul.dropdown-menu
27
+ / li= link_to 'Sign Out', sign_out_path
28
+ / - else
29
+ / li= link_to 'Sign In', sign_in_path
26
30
 
31
+ .container
27
32
  - flash.each do |name, msg|
28
33
  = content_tag :div, raw(msg), class: "alert #{alert_class(name)}"
29
-
30
34
  = yield
35
+ .push
31
36
 
32
- .push
33
-
34
- footer
35
- .container
36
- p © 2013 All rights reserved.
37
+ footer
38
+ .container
39
+ p © 2013 All rights reserved.
@@ -1,12 +1,13 @@
1
1
  javascript:
2
+ /* This little bit of silliness is here to ensure our js feature specs are working. Remove at will. */
2
3
  $(document).ready(function() {
3
- $('.hero-unit p:last').after("<p>Enjoy!</p>")
4
+ $('.jumbotron p:last').after("<p>Enjoy!</p>")
4
5
  });
5
6
 
6
- .hero-unit
7
+ .jumbotron
7
8
  h1 Hello, world!
8
9
  br
9
10
  p Welcome to your newly generated rails application...
10
11
  p Meander around the code to see what's been done for you. Many small, and a few not-so-small, customizations have been made.
11
12
  p Custom generator templates create views that are bootstrap compatible and specs that are factory-aware and follow best practices.
12
- p Your applicated is ready for easy deployment to heroku.
13
+ p Your application is ready for easy deployment to heroku.
@@ -0,0 +1,47 @@
1
+ #!/bin/sh -e
2
+
3
+ if [ $# -ne 1 ]; then
4
+ echo 1>&2 "Usage: $0 <application name>"
5
+ exit 1
6
+ fi
7
+
8
+ APP_NAME=$1
9
+
10
+ if [ -n "$CIRCLE_SHA1" ]; then
11
+ SHA_TO_DEPLOY=$CIRCLE_SHA1
12
+ else
13
+ echo "CIRCLE_SHA1 isn't set, deploying the latest revision."
14
+ SHA_TO_DEPLOY=`git rev-parse HEAD`
15
+ fi
16
+
17
+ REMOTE_MISSING=$(git remote | grep heroku | wc -l)
18
+
19
+ if [ $REMOTE_MISSING -eq 0 ] ; then
20
+ git remote add heroku git@heroku.com:$APP_NAME.git
21
+ fi
22
+
23
+ git fetch heroku
24
+
25
+ PREV_WORKERS=$(heroku ps --app $APP_NAME | grep "^worker." | wc -l | xargs)
26
+
27
+ PENDING_MIGRATIONS=$(git diff HEAD heroku/master --name-only -- db | wc -l | xargs)
28
+
29
+ echo "There are $PENDING_MIGRATIONS pending migrations."
30
+
31
+ # Migrations require downtime so enter maintenance mode
32
+ if [ $PENDING_MIGRATIONS -gt 0 ]; then
33
+ heroku maintenance:on --app $APP_NAME
34
+
35
+ # Make sure workers are not running during a migration
36
+ heroku scale worker=0 --app $APP_NAME
37
+ fi
38
+
39
+ # Deploy code changes (and implicitly restart the app and any running workers)
40
+ git push -f heroku $SHA_TO_DEPLOY:refs/heads/master
41
+
42
+ # Run database migrations if needed and restart background workers once finished
43
+ if [ $PENDING_MIGRATIONS -gt 0 ]; then
44
+ heroku run rake db:migrate db:seed --app $APP_NAME
45
+ heroku scale worker=$PREV_WORKERS --app $APP_NAME
46
+ heroku maintenance:off --app $APP_NAME
47
+ fi
@@ -0,0 +1,16 @@
1
+ test:
2
+ override:
3
+ - rake spec:without_features spec:features
4
+ post:
5
+ - bundle exec guard-jasmine
6
+
7
+ deployment:
8
+ acceptance:
9
+ branch: master
10
+ commands:
11
+ - ./bin/deploy.sh app-prototype-acceptance
12
+
13
+ production:
14
+ branch: production
15
+ commands:
16
+ - ./bin/deploy.sh app-prototype
@@ -5,7 +5,9 @@ begin
5
5
  namespace :spec do
6
6
  desc "Run the code examples in spec/ except those in spec/features"
7
7
  RSpec::Core::RakeTask.new('without_features' => 'db:test:prepare') do |t|
8
- t.pattern = "./spec/[^features]**/**/*_spec.rb"
8
+ file_list = FileList['spec/**/*_spec.rb'].exclude("spec/features/**/*_spec.rb")
9
+
10
+ t.pattern = file_list
9
11
  end
10
12
  end
11
13
 
data/raygun.gemspec CHANGED
@@ -1,7 +1,9 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
- lib = File.expand_path('../lib', __FILE__)
4
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+ File.expand_path('../lib', __FILE__).tap do |lib|
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+ end
6
+
5
7
  require 'raygun/version'
6
8
 
7
9
  Gem::Specification.new do |gem|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: raygun
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.33
4
+ version: 0.0.34.pre2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christian Nelson
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-07-08 00:00:00.000000000 Z
13
+ date: 2013-10-15 00:00:00.000000000 Z
14
14
  dependencies: []
15
15
  description: Carbon Five Rails application generator
16
16
  email:
@@ -91,7 +91,7 @@ files:
91
91
  - rails_32/config/environments/test.rb
92
92
  - rails_32/config/initializers/backtrace_silencers.rb
93
93
  - rails_32/config/initializers/inflections.rb
94
- - rails_32/config/initializers/mailcacher.rb
94
+ - rails_32/config/initializers/mailcatcher.rb
95
95
  - rails_32/config/initializers/mime_types.rb
96
96
  - rails_32/config/initializers/secret_token.rb
97
97
  - rails_32/config/initializers/session_store.rb
@@ -188,8 +188,10 @@ files:
188
188
  - rails_40/app/views/layouts/application.html.slim
189
189
  - rails_40/app/views/pages/root.html.slim
190
190
  - rails_40/bin/bundle
191
+ - rails_40/bin/deploy.sh
191
192
  - rails_40/bin/rails
192
193
  - rails_40/bin/rake
194
+ - rails_40/circle.yml
193
195
  - rails_40/config.ru
194
196
  - rails_40/config/application.rb
195
197
  - rails_40/config/boot.rb
@@ -202,7 +204,7 @@ files:
202
204
  - rails_40/config/initializers/backtrace_silencers.rb
203
205
  - rails_40/config/initializers/filter_parameter_logging.rb
204
206
  - rails_40/config/initializers/inflections.rb
205
- - rails_40/config/initializers/mailcacher.rb
207
+ - rails_40/config/initializers/mailcatcher.rb
206
208
  - rails_40/config/initializers/mime_types.rb
207
209
  - rails_40/config/initializers/secret_token.rb
208
210
  - rails_40/config/initializers/session_store.rb
@@ -264,12 +266,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
264
266
  version: '0'
265
267
  required_rubygems_version: !ruby/object:Gem::Requirement
266
268
  requirements:
267
- - - '>='
269
+ - - '>'
268
270
  - !ruby/object:Gem::Version
269
- version: '0'
271
+ version: 1.3.1
270
272
  requirements: []
271
273
  rubyforge_project:
272
- rubygems_version: 2.0.3
274
+ rubygems_version: 2.0.6
273
275
  signing_key:
274
276
  specification_version: 4
275
277
  summary: Generates and customizes Rails applications with Carbon Five best practices