pah 0.0.12 → 0.0.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/CHANGELOG.md +47 -0
  4. data/CONTRIBUTING.md +6 -31
  5. data/README.md +17 -2
  6. data/bin/pah +2 -1
  7. data/lib/pah/files/.env +1 -0
  8. data/lib/pah/files/Gemfile +35 -28
  9. data/lib/pah/files/Procfile +1 -1
  10. data/lib/pah/files/README.md +15 -9
  11. data/lib/pah/files/app/assets/javascripts/application.js +6 -6
  12. data/lib/pah/files/app/assets/stylesheets/application.scss +4 -6
  13. data/lib/pah/files/app/assets/stylesheets/general.scss +38 -5
  14. data/lib/pah/files/app/views/layouts/application.html.haml +16 -14
  15. data/lib/pah/files/config/initializers/bullet.rb +14 -0
  16. data/lib/pah/files/config/initializers/database_connection.rb +12 -0
  17. data/lib/pah/files/config/initializers/rack_timeout.rb +1 -0
  18. data/lib/pah/files/config/locales/app.pt-BR.yml +13 -0
  19. data/lib/pah/files/config/locales/pt-BR.yml +21 -6
  20. data/lib/pah/files/config/locales/simple_form.pt-BR.yml +25 -0
  21. data/lib/pah/files/lib/tasks/jumpup.rake +3 -6
  22. data/lib/pah/files/public/404.html +69 -0
  23. data/lib/pah/files/public/500.html +59 -0
  24. data/lib/pah/files/spec/acceptance/dummy_spec.rb +1 -1
  25. data/lib/pah/files/spec/support/acceptance_helpers.rb +2 -2
  26. data/lib/pah/files/spec/support/acceptance_macros.rb +4 -4
  27. data/lib/pah/files/spec/support/capybara.rb +1 -1
  28. data/lib/pah/files/spec/support/database_cleaner.rb +18 -0
  29. data/lib/pah/files/spec/support/factory_girl.rb +10 -0
  30. data/lib/pah/files/spec/support/vcr.rb +6 -7
  31. data/lib/pah/partials/_assets.rb +4 -5
  32. data/lib/pah/partials/_bullet.rb +6 -0
  33. data/lib/pah/partials/_canonical_host.rb +2 -5
  34. data/lib/pah/partials/_capybara.rb +2 -5
  35. data/lib/pah/partials/_cleanup.rb +3 -11
  36. data/lib/pah/partials/_database.rb +5 -7
  37. data/lib/pah/partials/_gems.rb +4 -6
  38. data/lib/pah/partials/_generators.rb +2 -5
  39. data/lib/pah/partials/_git.rb +2 -6
  40. data/lib/pah/partials/_heroku.rb +11 -8
  41. data/lib/pah/partials/_jumpup.rb +3 -7
  42. data/lib/pah/partials/_layout.rb +4 -5
  43. data/lib/pah/partials/_letter_opener.rb +2 -5
  44. data/lib/pah/partials/_locale.rb +6 -7
  45. data/lib/pah/partials/_public.rb +9 -4
  46. data/lib/pah/partials/_puma.rb +4 -0
  47. data/lib/pah/partials/_rack_timeout.rb +4 -0
  48. data/lib/pah/partials/_readme.rb +2 -6
  49. data/lib/pah/partials/_rollbar.rb +5 -0
  50. data/lib/pah/partials/_rspec.rb +12 -8
  51. data/lib/pah/partials/_ruby_env.rb +6 -10
  52. data/lib/pah/partials/_secret_token.rb +3 -7
  53. data/lib/pah/partials/_secure_headers.rb +3 -5
  54. data/lib/pah/partials/_simple_form.rb +11 -0
  55. data/lib/pah/template.rb +35 -26
  56. data/lib/pah/version.rb +2 -1
  57. data/pah.gemspec +2 -2
  58. metadata +20 -10
  59. data/lib/pah/files/config/unicorn.rb +0 -43
  60. data/lib/pah/files/spec/support/omniauth.rb +0 -27
  61. data/lib/pah/files/spec/support/paperclip.rb +0 -4
  62. data/lib/pah/partials/_unicorn.rb +0 -33
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 62f4c7bfec67bb4a781b5904210aa5353fedf874
4
- data.tar.gz: c49595c6a692bf9a762663226b0231ce85e6f676
3
+ metadata.gz: 381988670dd59fdf9d0daffa4a1ee370f4799778
4
+ data.tar.gz: 8b8fd9c1b9b87edc742296522d51005cac9bd920
5
5
  SHA512:
6
- metadata.gz: 12410f1e68b066c10ed68550353db7d9eb8f8b019e052d60abf18fd9e39d2532b12092fa6b8ac9e05bd8bdd839da68b034ab43acd0eb30c9b724ad804e555fb6
7
- data.tar.gz: f9da3dc0d37ec4b7a2d41cb737492b2dbd519864db8907ef39938c2593f3ff6e282da112507524ef539bd7b0499a6137e7a0535d0992acfdd224d07b6ebb69b8
6
+ metadata.gz: 7be8672bab5fd2b2b7136ef811765f501416aaa337801bddb67fb49e0d02c2331b2ff55ea70c372a43b8d1ebcedff8551805a3bddd95001626035c4933de17e2
7
+ data.tar.gz: 52b9b073da89a1ffdc308dd0a73945a80ab9bbe8180012fd0151d3ea89eff8e07bac4f42dc26018f401ec3d5642c78204658a80725f7a8c6e1da9082d152721a
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- ruby-2.1.0
1
+ 2.1.1
data/CHANGELOG.md CHANGED
@@ -1,5 +1,52 @@
1
1
  # Changelog
2
2
 
3
+
4
+ ## 0.0.13 (March 21, 2014)
5
+
6
+ ### improvements
7
+
8
+ - Add rollbar as default heroku addon
9
+ - Add flutie page_title and body_class on application.html.haml, body_class will generate body classes based in controller and views
10
+ - Update jumpup to version 0.0.4
11
+ - Add version to jumpup-heroku gem on Gemfile
12
+ - Update hash syntax to Ruby 1.9 standard
13
+ - Update gems
14
+ - Add info about best practices on CONTRIBUTING
15
+ - Add info about how release the gem
16
+ - Remove sdoc gem from new project Gemfile
17
+ - Add main color and darker and lighter color variables to css
18
+ - Created centered 960px structure on application.html.haml
19
+ - Changed CSS to keep the footer always at the bottom of the page
20
+ - VCR enabled, by default
21
+ - Replace Unicorn with Puma
22
+ - Replace tabs with spaces on application.js
23
+ - Centralized rails version (must be specified with pah version at lib/version.rb)
24
+ - Change foreman port to 3000
25
+ - Add pah version to commit messages
26
+ - Don't use ```git add --all``, rather explicitly add files to git
27
+ - Update pt-BR.yml file from rails-i18n project
28
+ - Add app.pt-BR.yml file for app specific locale strings
29
+ - Add Rack::Timeout
30
+ - Update rspec to `2.99.0.beta2` on Gemfile
31
+ - Use FactoryGirl.lint to test all factories before running specs
32
+ - Install database_cleaner gem
33
+ - Update rails version to `4.0.4`
34
+ - Update sass-rails version to `4.0.2`
35
+ - Run `rails generate simple_form:install`
36
+ - Add gem bullet
37
+ - Add quiet_assets gem
38
+ - Set ruby 2.1.1 as default
39
+ - Add custom error pages
40
+ - Update jumpup.rake to comply jumpup gem.
41
+
42
+ ### bug fixes
43
+
44
+ - Run pah against specific version of rails
45
+ - Layout partial replaces page_title method call on application.html.haml.
46
+ - Fixed Webmock version on `< 1.16` to make VCR `2.8.0` happy
47
+ - Fix the I18n bug on production (See: https://github.com/rails/rails/issues/13164)
48
+ - Fix database creation by adding `heroku-postgresql:dev` to default addons list
49
+
3
50
  ## 0.0.12 (January 16, 2014)
4
51
 
5
52
  ### improvements
data/CONTRIBUTING.md CHANGED
@@ -4,44 +4,19 @@ We love pull requests. Here's a quick guide:
4
4
 
5
5
  1. Fork the repo.
6
6
 
7
- 2. Create your feature branch (`git checkout -b my-new-feature`)
7
+ 1. Create your feature branch (`git checkout -b my-new-feature`)
8
8
 
9
- 3. Run the tests. We only take pull requests with passing tests, and it's great
10
- to know that you have a clean slate: `bundle && rake`
9
+ 1. Update [CHANGELOG.md](https://github.com/Helabs/pah/blob/master/CHANGELOG.md) with a brief description of your changes under the `unreleased` heading.
11
10
 
12
- 4. Add a test for your change. Only refactoring and documentation changes
13
- require no new tests. If you are adding functionality or fixing a bug, we need
14
- a test!
11
+ 1. Commit your changes (`git commit -am 'Added some feature'`)
15
12
 
16
- 5. Make the test pass.
13
+ 1. Push to the branch (`git push origin my-new-feature`)
17
14
 
18
- 6. Update [CHANGELOG.md](https://github.com/Helabs/pah/blob/master/CHANGELOG.md) with a brief description of your changes under the `unreleased` heading.
19
-
20
- 7. Commit your changes (`git commit -am 'Added some feature'`)
21
-
22
- 8. Push to the branch (`git push origin my-new-feature`)
23
-
24
- 9. Create new Pull Request
15
+ 1. Create new Pull Request
25
16
 
26
17
  At this point you're waiting on us. We like to at least comment on, if not
27
18
  accept, pull requests within three business days (and, typically, one business
28
19
  day). We may suggest some changes or improvements or alternatives.
29
20
 
30
- Some things that will increase the chance that your pull request is accepted,
31
- taken straight from the Ruby on Rails guide:
32
-
33
- * Use Rails idioms and helpers
34
- * Include tests that fail without your code, and pass with it
35
- * Update the documentation, the surrounding one, examples elsewhere, guides,
36
- whatever is affected by your contribution
37
-
38
- Syntax:
39
-
40
- * Two spaces, no tabs.
41
- * No trailing whitespace. Blank lines should not have any space.
42
- * Prefer &&/|| over and/or.
43
- * my_method(my_arg) not my_method( my_arg ) or my_method my_arg.
44
- * a = b and not a=b.
45
- * Follow the conventions you see used in the source already.
21
+ Some things that will increase the chance that your pull request is accepted is to follow the practices described on [Ruby style guide](https://github.com/bbatsov/ruby-style-guide), [Rails style guide](https://github.com/bbatsov/rails-style-guide) and [Better Specs](http://betterspecs.org/).
46
22
 
47
- And in case we didn't emphasize it enough: we love tests!
data/README.md CHANGED
@@ -19,14 +19,14 @@ Run:
19
19
 
20
20
  pah projectname
21
21
 
22
- This will create a Rails 4.0 app in `projectname` with ruby 2.1.0. This script creates a new git repository. It is not meant to be used against an existing repo.
22
+ This will create a Rails 4.0 app in `projectname` with ruby 2.1.1. This script creates a new git repository. It is not meant to be used against an existing repo.
23
23
 
24
24
  ### RVM
25
25
 
26
26
  If using the rvm is recomended before using pah, create and use a gemset, with the project name.
27
27
 
28
28
  ```bash
29
- $ rvm use 2.1.0@projectname --create
29
+ $ rvm use 2.1.1@projectname --create
30
30
  ```
31
31
 
32
32
  Pah automatically create the .ruby-version and .ruby-gemset files.
@@ -53,6 +53,21 @@ If you have problems, please create a [Github Issue](https://github.com/Helabs/p
53
53
 
54
54
  Please see [CONTRIBUTING.md](https://github.com/Helabs/pah/blob/master/CONTRIBUTING.md) for details.
55
55
 
56
+ ## Maintainers
57
+
58
+ - [Mauro George](https://github.com/maurogeorge)
59
+
60
+ ## Release
61
+
62
+ Follow this steps to release a new version of the gem.
63
+
64
+ 1. Test if everything is running ok;
65
+ 1. Change version of the gem on `VERSION` constant;
66
+ 1. Add the release date on the `CHANGELOG`;
67
+ 1. Do a commit "Bump version x.x.x", follow the semantic version;
68
+ 1. Run `$ rake release`, this will send the gem to the rubygems;
69
+ 1. Check if the gem is on the rubygems and the tags are correct on the github;
70
+
56
71
  ## Credits
57
72
 
58
73
  Pah is maintained and funded by [HE:labs](http://helabs.com.br/opensource/).
data/bin/pah CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ require File.expand_path(File.join('..', 'lib', 'pah', 'version.rb'), File.dirname(__FILE__))
2
3
 
3
4
  template_rb = File.expand_path(File.join('..', 'lib', 'pah', 'template.rb'), File.dirname(__FILE__))
4
- exec "rails new #{ARGV[0]} -m #{template_rb}"
5
+ exec "rails _#{::Pah::RAILS_VERSION}_ new #{ARGV[0]} -T -m #{template_rb}"
data/lib/pah/files/.env CHANGED
@@ -0,0 +1 @@
1
+ PORT: 3000
@@ -1,52 +1,59 @@
1
1
  source 'https://rubygems.org'
2
- ruby '2.1.0'
2
+ ruby '2.1.1'
3
3
 
4
- gem 'rails', '4.0.2'
5
- gem 'unicorn', '4.7.0'
6
- gem 'unicorn-worker-killer', '0.4.2'
7
- gem 'secure_headers', '1.1.0'
8
- gem 'jquery-rails', '3.0.4'
9
- gem 'turbolinks', '2.0.0'
10
- gem 'jbuilder', '1.5.3'
11
- gem 'haml-rails', '0.5.2'
12
- gem 'pg', '0.17.0'
13
- gem 'sass-rails', '4.0.1'
4
+ # See: https://github.com/rails/rails/issues/13164
5
+ gem 'i18n', github: 'svenfuchs/i18n',
6
+ ref: '8fc94e7e9ec20396e974b0549cf499662238bf56'
7
+
8
+ gem 'rails', 'RAILS_VERSION'
9
+ gem 'puma', '2.8.1'
10
+ gem 'secure_headers', '1.1.1'
11
+ gem 'jquery-rails', '3.1.0'
12
+ gem 'turbolinks', '2.2.1'
13
+ gem 'jbuilder', '2.0.4'
14
+ gem 'haml-rails', '0.5.3'
15
+ gem 'pg', '0.17.1'
16
+ gem 'sass-rails', '4.0.2'
14
17
  gem 'coffee-rails', '4.0.1'
15
- gem 'uglifier', '2.3.2'
16
- gem 'rack-canonical-host', '0.0.8'
18
+ gem 'uglifier', '2.4.0'
19
+ gem 'rack-canonical-host', '0.0.9'
20
+ gem 'rack-timeout', '0.0.4'
17
21
  gem 'bourbon', '3.1.8'
18
22
  gem 'simple_form', '3.0.1'
23
+ gem 'flutie', '2.0.0'
19
24
 
20
25
  group :production do
21
26
  gem 'rails_12factor', '0.0.2'
27
+ gem 'rollbar', '0.12.14'
22
28
  end
23
29
 
24
30
  group :development do
25
31
  gem 'foreman', '0.63.0'
26
- gem 'jumpup', '0.0.2'
27
- gem 'jumpup-heroku', github: 'Helabs/jumpup-heroku'
28
- gem 'better_errors', '1.0.1'
32
+ gem 'jumpup', '0.0.4'
33
+ gem 'jumpup-heroku', '0.0.4'
34
+ gem 'better_errors', '1.1.0'
29
35
  gem 'binding_of_caller', '0.7.2'
30
- gem 'letter_opener', '1.1.2'
36
+ gem 'letter_opener', '1.2.0'
37
+ gem 'bullet', '4.8.0'
38
+ gem 'quiet_assets', '1.0.2'
31
39
  end
32
40
 
33
41
  group :test do
34
- gem 'shoulda-matchers', '2.4.0'
42
+ gem 'shoulda-matchers', '2.5.0'
35
43
  gem 'simplecov', '0.8.2', require: false
36
44
  gem 'email_spec', '1.5.0'
37
- gem 'capybara', '2.1.0'
38
- gem 'poltergeist', '1.4.1'
45
+ gem 'capybara', '2.2.1'
46
+ gem 'poltergeist', '1.5.0'
47
+ gem 'vcr', '2.8.0'
48
+ gem 'webmock', '< 1.16' # VCR 2.8.0 requires Webmock >= 1.8.0, < 1.16
49
+ gem 'database_cleaner', '1.2.0'
39
50
  end
40
51
 
41
52
  group :development, :test do
42
- gem 'rspec-rails', '2.14.0'
43
- gem 'factory_girl_rails', '4.3.0'
53
+ gem 'rspec', '2.99.0.beta2'
54
+ gem 'rspec-rails', '2.99.0.beta2'
55
+ gem 'factory_girl_rails', '4.4.1'
44
56
  gem 'pry-rails', '0.3.2'
45
- gem 'dotenv-rails', '0.9.0'
57
+ gem 'dotenv-rails', '0.10.0'
46
58
  gem 'awesome_print', '1.2.0'
47
59
  end
48
-
49
- group :doc do
50
- gem 'sdoc', '0.3.20', require: false
51
- end
52
-
@@ -1 +1 @@
1
- web: bundle exec unicorn -p $PORT -c ./config/unicorn.rb
1
+ web: bundle exec puma -t ${PUMA_MIN_THREADS:-8}:${PUMA_MAX_THREADS:-12} -w ${PUMA_WORKERS:-2} -p $PORT -e ${RACK_ENV:-development}
@@ -7,9 +7,8 @@ PROJECT
7
7
  2. ```cd PROJECT```
8
8
  3. ```bundle```
9
9
  4. ```rake db:setup```
10
- 5. ```rake db:seed```
11
- 6. ```foreman start```
12
- 7. Go to http://localhost:3000
10
+ 5. ```foreman start```
11
+ 6. Go to http://localhost:3000
13
12
 
14
13
  ## Sanity check!
15
14
 
@@ -19,11 +18,10 @@ Checks you have to do:
19
18
 
20
19
  1. Do ```bundle``` works and install all gems accordingly?
21
20
  2. Do ```rake db:setup``` works?
22
- 3. Do ```rake db:seed``` works?
23
- 4. After run ```foreman start``` if you go to ```http://localhost:3000``` you see something that shows the project is working?
24
- 5. Is code coverage 100%?
25
- 6. Do ```rake integrate``` works and deploys to production?
26
- 7. Do the project have Rollbar or Airbrake configured in production environment?
21
+ 3. After run ```foreman start``` if you go to ```http://localhost:3000``` you see something that shows the project is working?
22
+ 4. Is code coverage 100%?
23
+ 5. Do ```rake integrate``` works and deploys to production?
24
+ 6. Do the project have Rollbar or Airbrake configured in production environment?
27
25
 
28
26
  ## Create remote git repository
29
27
 
@@ -46,6 +44,14 @@ When you finish an implementation, run:
46
44
 
47
45
  This task will run all tasks described on 'jumpup.rake' file, check the file and verify the steps.
48
46
 
47
+ ## Page title
48
+
49
+ The project use flutie gem to manage page title.
50
+
51
+ Add on view files the code above to change the page title:
52
+
53
+ ```content_for(:page_title, 'My title of my page')```
54
+
49
55
  ## Configuring domain on Heroku
50
56
 
51
- Check out this [wiki](https://github.com/Helabs/pah/wiki/Configuring-domain-on-Heroku) with detailed instruction of how to use the canonical_host to redirect your naked domain to your real app.
57
+ Check out this [wiki](https://github.com/Helabs/pah/wiki/Configuring-domain-on-Heroku) with detailed instruction of how to use the canonical_host to redirect your naked domain to your real app.
@@ -18,14 +18,14 @@ function ready() {
18
18
 
19
19
  /* Form: Focus and Hint */
20
20
 
21
- $('input[type="text"], input[type="password"], textarea').focus(function() {
21
+ $('input[type="text"], input[type="password"], textarea').focus(function() {
22
22
  $(this).parent().find('.hint').show();
23
- $(this).css("box-shadow", "#ccc 0 0 5px");
24
- });
25
- $('input[type="text"], input[type="password"], textarea').blur(function() {
23
+ $(this).css("box-shadow", "#ccc 0 0 5px");
24
+ });
25
+ $('input[type="text"], input[type="password"], textarea').blur(function() {
26
26
  $(this).parent().find('.hint').hide();
27
- $(this).css("box-shadow", "none");
28
- });
27
+ $(this).css("box-shadow", "none");
28
+ });
29
29
 
30
30
  }
31
31
 
@@ -1,6 +1,4 @@
1
- /*
2
- *= require reset
3
- *= require general
4
- *= require form
5
- *= require responsive
6
- */
1
+ @import "reset";
2
+ @import "general";
3
+ @import "form";
4
+ @import "responsive";
@@ -1,8 +1,24 @@
1
1
  @charset "utf-8";
2
2
  @import "variables";
3
+ /* colors */
4
+ $main-color: #555;
5
+ $text: #333;
6
+ $darker-color: darken( $main-color, 10% ) ;
7
+ $lighter-color: lighten( $main-color, 10% );
3
8
 
4
9
 
5
10
  /* General Styles */
11
+ header{
12
+ height: 50px;
13
+ margin-bottom: 10px;
14
+ background: $lighter-color;
15
+ }
16
+
17
+ html, body {
18
+ height: 100%;
19
+ margin: 0;
20
+ padding: 0;
21
+ }
6
22
 
7
23
  body {
8
24
  font-family: $sans_serif;
@@ -13,10 +29,27 @@ body {
13
29
  margin: auto;
14
30
  }
15
31
 
16
- /*
17
- .holder {
18
- padding: 0 12% 0 12%;
19
- margin: auto;
32
+ #wrapper {
33
+ min-height: 100%;
34
+ position: absolute;
35
+ width: 100%;
36
+ // padding-bottom: 80px; // should be used if there are divs with float left on main content
37
+ }
38
+
39
+ #main-content {
40
+ margin: 0 auto;
41
+ padding-bottom: 100px;
42
+ width: 960px;
43
+ }
44
+
45
+ footer{
46
+ background: $darker-color;
47
+ color:$lighter-color;
48
+ bottom: 0px;
49
+ height: 40px;
50
+ left: 0;
51
+ padding-top: 18px;
52
+ position: absolute;
53
+ width: 100%;
20
54
  }
21
- */
22
55
 
@@ -5,7 +5,7 @@
5
5
  %meta{:name => "keywords", :content => ""}
6
6
  %meta{:name => "description", :content => ""}
7
7
 
8
- %title= yield(:title) + "Titulo aqui"
8
+ %title= page_title(app_name: 'example') # use content_for(:page_title, 'My title of my page') on views files like index.html.haml
9
9
 
10
10
  %link{:href => "/favicon.ico", :rel => "shortcut icon"}
11
11
  = yield(:header_tags)
@@ -32,10 +32,11 @@
32
32
 
33
33
  </script>
34
34
 
35
- %body{:id => controller.controller_name}
36
- #wrap
35
+ %body{:class => body_class}
36
+ #wrapper
37
37
  %header
38
- #masthead
38
+ .holder
39
+ / #masthead
39
40
  /- if current_user
40
41
  / %p
41
42
  / = "Bem-vindo <strong>#{current_user.name}</strong> &bull; ".html_safe
@@ -44,18 +45,19 @@
44
45
  / %p
45
46
  / = link_to "Acesse com Facebook", "/auth/facebook", :id => "facebook-connect"
46
47
 
47
- #logo<
48
- = link_to "Logo", "/"
49
- = render 'flash_messages'
48
+ #logo<
49
+ = link_to "Logo", "/"
50
+ = render 'flash_messages'
50
51
 
51
- .holder
52
- %section{:role => "main"}
53
- = yield
52
+ #main-content
53
+ .holder
54
+ %section{:role => "main"}
55
+ = yield
54
56
 
55
- - if content_for?(:sidebar)
56
- %aside
57
- = yield(:sidebar)
57
+ - if content_for?(:sidebar)
58
+ %aside
59
+ = yield(:sidebar)
58
60
 
59
61
  %footer
60
- %p
62
+ .holder
61
63
  = "Copyright &copy; #{Time.zone.now.year} App".html_safe