pah 0.0.14 → 0.0.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +23 -0
  3. data/CONTRIBUTING.md +2 -3
  4. data/LICENSE.txt +1 -1
  5. data/README.md +0 -1
  6. data/features/bourbon.feature +23 -0
  7. data/features/bullet.feature +2 -1
  8. data/features/canonical_host.feature +2 -1
  9. data/features/capybara.feature +2 -1
  10. data/features/database.feature +2 -1
  11. data/features/env.feature +2 -1
  12. data/features/gemfile.feature +3 -2
  13. data/features/generators.feature +2 -1
  14. data/features/git.feature +2 -1
  15. data/features/heroku.feature +2 -1
  16. data/features/jumpup.feature +2 -1
  17. data/features/layout.feature +2 -2
  18. data/features/letter_opener.feature +2 -1
  19. data/features/locale.feature +4 -3
  20. data/features/newrelic.feature +2 -1
  21. data/features/public.feature +2 -1
  22. data/features/puma.feature +2 -1
  23. data/features/rack_deflater.feature +2 -1
  24. data/features/rack_timeout.feature +2 -1
  25. data/features/rails_works.feature +4 -2
  26. data/features/readme.feature +2 -1
  27. data/features/remove_unused_files.feature +2 -1
  28. data/features/rollbar.feature +3 -2
  29. data/features/rspec.feature +3 -1
  30. data/features/run_specs.feature +2 -1
  31. data/features/runner.feature +42 -4
  32. data/features/secret_token.feature +2 -1
  33. data/features/secure_headers.feature +2 -1
  34. data/features/sendgrid.feature +2 -1
  35. data/features/simple_form.feature +2 -1
  36. data/features/step_definitions/create_simple_app.rb +19 -9
  37. data/features/step_definitions/file_content.rb +5 -0
  38. data/features/support/env.rb +3 -0
  39. data/lib/pah/files/Gemfile +24 -25
  40. data/lib/pah/files/app/views/application/_flash_messages.html.slim +3 -4
  41. data/lib/pah/files/app/views/layouts/application.html.slim +4 -33
  42. data/lib/pah/files/config/initializers/rack_timeout.rb +3 -1
  43. data/lib/pah/files/spec/acceptance/dummy_spec.rb +2 -2
  44. data/lib/pah/files/spec/rails_helper.rb +19 -0
  45. data/lib/pah/files/spec/spec_helper.rb +10 -43
  46. data/lib/pah/pah.rb +64 -0
  47. data/lib/pah/partials/_bourbon.rb +25 -0
  48. data/lib/pah/partials/_heroku.rb +16 -9
  49. data/lib/pah/partials/_layout.rb +1 -2
  50. data/lib/pah/partials/_locale.rb +2 -2
  51. data/lib/pah/partials/_rack_deflater.rb +1 -1
  52. data/lib/pah/partials/_rollbar.rb +1 -1
  53. data/lib/pah/partials/_rspec.rb +1 -0
  54. data/lib/pah/template.rb +2 -58
  55. data/lib/pah/version.rb +2 -2
  56. metadata +9 -15
  57. data/features/assets.feature +0 -13
  58. data/lib/pah/files/app/assets/javascripts/application.js +0 -33
  59. data/lib/pah/files/app/assets/stylesheets/_variables.scss +0 -39
  60. data/lib/pah/files/app/assets/stylesheets/application.scss +0 -5
  61. data/lib/pah/files/app/assets/stylesheets/form.scss +0 -248
  62. data/lib/pah/files/app/assets/stylesheets/general.scss +0 -47
  63. data/lib/pah/files/app/assets/stylesheets/reset.scss +0 -75
  64. data/lib/pah/files/app/assets/stylesheets/responsive.scss +0 -97
  65. data/lib/pah/files/app/views/application/_error_messages.html.slim +0 -5
  66. data/lib/pah/partials/_assets.rb +0 -12
@@ -1,8 +1,7 @@
1
1
  copy_static_file 'app/views/layouts/application.html.slim'
2
- copy_static_file 'app/views/application/_error_messages.html.slim'
3
2
  copy_static_file 'app/views/application/_flash_messages.html.slim'
4
3
 
5
4
  gsub_file 'app/views/layouts/application.html.slim', /= page_title(app_name: 'example')/, "= page_title(app_name: '#{@app_name}')"
6
5
 
7
6
  git add: 'app/views/'
8
- git_commit 'Add layout files.'
7
+ git_commit 'Add layout files.'
@@ -14,8 +14,8 @@ inject_into_file 'config/application.rb', time_zone_config, { after: "# config.t
14
14
  locale_config = <<LOCALE
15
15
 
16
16
  config.i18n.enforce_available_locales = true
17
- config.i18n.default_locale = :"pt-BR"
18
- config.i18n.locale = :"pt-BR"
17
+ config.i18n.default_locale = :'pt-BR'
18
+ config.i18n.locale = :'pt-BR'
19
19
  LOCALE
20
20
 
21
21
  inject_into_file 'config/application.rb', locale_config, { after: "# config.i18n.default_locale = :de", verbose: false }
@@ -1,6 +1,6 @@
1
1
  file = 'config/application.rb'
2
2
  inject = "\n\n config.middleware.use Rack::Deflater"
3
- options = { after: /config\.i18n\.locale = :".*"/, verbose: false }
3
+ options = { after: /config\.i18n\.locale = :'.*'/, verbose: false }
4
4
 
5
5
  inject_into_file file, inject, options
6
6
 
@@ -7,7 +7,7 @@ search = <<HEREDOC
7
7
  end
8
8
  HEREDOC
9
9
 
10
- replace = " config.enabled = Rails.env.production? # || Rails.env.staging?"
10
+ replace = " config.enabled = Rails.env.production? || Rails.env.staging?"
11
11
 
12
12
  gsub_file 'config/initializers/rollbar.rb', search, replace
13
13
 
@@ -1,4 +1,5 @@
1
1
  copy_static_file 'spec/spec_helper.rb'
2
+ copy_static_file 'spec/rails_helper.rb'
2
3
 
3
4
  %w{
4
5
  database_cleaner.rb
@@ -1,60 +1,4 @@
1
- require File.expand_path(File.join('..', 'pah', 'version.rb'), File.dirname(__FILE__))
2
-
3
- %w{colored}.each do |component|
4
- if Gem::Specification.find_all_by_name(component).empty?
5
- run "gem install #{component}"
6
- Gem.refresh
7
- Gem::Specification.find_by_name(component).activate
8
- end
9
- end
10
-
11
- require "rails"
12
- require "colored"
13
- require "bundler"
14
-
15
- # Directories for template partials and static files
16
- @template_root = File.expand_path(File.join(File.dirname(__FILE__)))
17
- @partials = File.join(@template_root, 'partials')
18
- @static_files = File.join(@template_root, 'files')
19
-
20
- # Copy a static file from the template into the new application
21
- def copy_static_file(path)
22
- remove_file path
23
- file path, File.read(File.join(@static_files, path))
24
- end
25
-
26
- def apply_n(partial, message='')
27
- puts message.magenta
28
-
29
- in_root do
30
- Bundler.with_clean_env do
31
- apply "#{@partials}/_#{partial}.rb"
32
- end
33
- end
34
-
35
- puts "\n"
36
- end
37
-
38
- def will_you_like_to?(question)
39
- answer = ask("Will you like to #{question} [y,n]".red)
40
- case answer.downcase
41
- when "yes", "y"
42
- true
43
- when "no", "n"
44
- false
45
- else
46
- will_you_like_to?(question)
47
- end
48
- end
49
-
50
- def ask_unless_test(*params)
51
- ask(*params)
52
- end
53
-
54
- def git_commit(message)
55
- message = "#{message}\n\nGenerated by pah version #{Pah::VERSION}"
56
- git commit: "-qm '#{message}'"
57
- end
1
+ require File.join(File.dirname(__FILE__), 'pah.rb')
58
2
 
59
3
  puts "\n========================================================="
60
4
  puts " Pah".yellow.bold
@@ -68,7 +12,7 @@ apply_n :gems, 'Setting up bundler and installing bundled gems (may t
68
12
  apply_n :database, 'Initializing databases...'
69
13
  apply_n :rspec, 'Setting up RSpec...'
70
14
  apply_n :layout, 'Adding layout files...'
71
- apply_n :assets, 'Adding asset files...'
15
+ apply_n :bourbon, 'Setting up Bourbon files...'
72
16
  apply_n :public, 'Adding public files...'
73
17
  apply_n :secure_headers, 'Adding secure headers...'
74
18
  apply_n :secret_token, 'Replacing secret token with environment variable...'
@@ -1,4 +1,4 @@
1
1
  module Pah
2
- VERSION = "0.0.14"
3
- RAILS_VERSION = "4.1.1"
2
+ VERSION = "0.0.15"
3
+ RAILS_VERSION = "4.1.4"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pah
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.14
4
+ version: 0.0.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - HE:labs
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-30 00:00:00.000000000 Z
11
+ date: 2014-07-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 4.1.1
19
+ version: 4.1.4
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 4.1.1
26
+ version: 4.1.4
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: colored
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -114,7 +114,7 @@ files:
114
114
  - README.md
115
115
  - Rakefile
116
116
  - bin/pah
117
- - features/assets.feature
117
+ - features/bourbon.feature
118
118
  - features/bullet.feature
119
119
  - features/canonical_host.feature
120
120
  - features/capybara.feature
@@ -157,14 +157,6 @@ files:
157
157
  - lib/pah/files/Gemfile
158
158
  - lib/pah/files/Procfile
159
159
  - lib/pah/files/README.md
160
- - lib/pah/files/app/assets/javascripts/application.js
161
- - lib/pah/files/app/assets/stylesheets/_variables.scss
162
- - lib/pah/files/app/assets/stylesheets/application.scss
163
- - lib/pah/files/app/assets/stylesheets/form.scss
164
- - lib/pah/files/app/assets/stylesheets/general.scss
165
- - lib/pah/files/app/assets/stylesheets/reset.scss
166
- - lib/pah/files/app/assets/stylesheets/responsive.scss
167
- - lib/pah/files/app/views/application/_error_messages.html.slim
168
160
  - lib/pah/files/app/views/application/_flash_messages.html.slim
169
161
  - lib/pah/files/app/views/layouts/application.html.slim
170
162
  - lib/pah/files/config/database.yml
@@ -182,6 +174,7 @@ files:
182
174
  - lib/pah/files/public/500.html
183
175
  - lib/pah/files/public/robots.txt
184
176
  - lib/pah/files/spec/acceptance/dummy_spec.rb
177
+ - lib/pah/files/spec/rails_helper.rb
185
178
  - lib/pah/files/spec/spec_helper.rb
186
179
  - lib/pah/files/spec/support/README
187
180
  - lib/pah/files/spec/support/acceptance_helpers.rb
@@ -195,8 +188,9 @@ files:
195
188
  - lib/pah/files/spec/support/suppress_log.rb
196
189
  - lib/pah/files/spec/support/uploaded_file.rb
197
190
  - lib/pah/files/spec/support/vcr.rb
198
- - lib/pah/partials/_assets.rb
191
+ - lib/pah/pah.rb
199
192
  - lib/pah/partials/_bin.rb
193
+ - lib/pah/partials/_bourbon.rb
200
194
  - lib/pah/partials/_bullet.rb
201
195
  - lib/pah/partials/_canonical_host.rb
202
196
  - lib/pah/partials/_capybara.rb
@@ -253,7 +247,7 @@ specification_version: 4
253
247
  summary: A rails application template which born from Startup DEV and now is used
254
248
  to start most projects at HE:labs.
255
249
  test_files:
256
- - features/assets.feature
250
+ - features/bourbon.feature
257
251
  - features/bullet.feature
258
252
  - features/canonical_host.feature
259
253
  - features/capybara.feature
@@ -1,13 +0,0 @@
1
- Feature: Assets
2
- Background:
3
- Given I have created a app with pah
4
-
5
- Scenario: Have correct files
6
- Then I have a app/assets/javascripts/application.js
7
- Then I have a app/assets/stylesheets/_variables.scss
8
- Then I have a app/assets/stylesheets/application.scss
9
- Then I have a app/assets/stylesheets/reset.scss
10
- Then I have a app/assets/stylesheets/general.scss
11
- Then I have a app/assets/stylesheets/form.scss
12
- Then I have a app/assets/stylesheets/responsive.scss
13
- Then I dont have a app/assets/stylesheets/application.css
@@ -1,33 +0,0 @@
1
- // This is a manifest file that'll be compiled into application.js, which will include all the files
2
- // listed below.
3
- //
4
- // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
- // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
6
- //
7
- // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
- // compiled file.
9
- //
10
- // Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
11
- // about supported directives.
12
- //
13
- //= require jquery
14
- //= require jquery_ujs
15
- //= require turbolinks
16
-
17
- function ready() {
18
-
19
- /* Form: Focus and Hint */
20
-
21
- $('input[type="text"], input[type="password"], textarea').focus(function() {
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() {
26
- $(this).parent().find('.hint').hide();
27
- $(this).css("box-shadow", "none");
28
- });
29
-
30
- }
31
-
32
- $(document).ready(ready);
33
- $(document).on('page:load', ready);
@@ -1,39 +0,0 @@
1
- @charset "utf-8";
2
-
3
- /* Font Variables */
4
- $sans_serif: Arial, "Helvetica", sans-serif;
5
- $font-small: 12px;
6
- $font-medium: 15px;
7
- $font-large: 19px;
8
- $font-big: 29px;
9
-
10
- /* Color Variables */
11
- $main-color: #555;
12
- $text: #333;
13
- $darker-color: darken($main-color, 10%);
14
- $lighter-color: lighten($main-color, 10%);
15
- $grey1: #eee;
16
- $grey2: #ddd;
17
- $grey3: #999;
18
- $grey4: #666;
19
- $grey5: #333;
20
-
21
- /* Mixins */
22
- @mixin transition($property) {
23
- -webkit-transition: $property 0.15s ease-in-out;
24
- -moz-transition: $property 0.15s ease-in-out;
25
- -o-transition: $property 0.15s ease-in-out;
26
- transition: $property 0.15s ease-in-out;
27
- }
28
-
29
- @mixin clearfix {
30
- &:after {
31
- visibility: hidden;
32
- display: block;
33
- font-size: 0;
34
- content: " ";
35
- clear: both;
36
- height: 0;
37
- min-height: 0;
38
- }
39
- }
@@ -1,5 +0,0 @@
1
- @import "variables";
2
- @import "reset";
3
- @import "general";
4
- @import "form";
5
- @import "responsive";
@@ -1,248 +0,0 @@
1
- @charset "utf-8";
2
-
3
- /* Fluid Form */
4
-
5
- .simple_form {
6
- label {
7
- font-weight: bold;
8
- }
9
-
10
- .radio {
11
- width: auto;
12
- }
13
- }
14
-
15
- .form-fluid {
16
- label {
17
- display: block;
18
- }
19
-
20
- .form-inputs {
21
- input[type="text"],
22
- input[type="password"],
23
- input[type="email"],
24
- input[type="tel"],
25
- input[type="number"],
26
- textarea {
27
- width: 95%;
28
- padding-left: 2%;
29
- padding-right: 2%;
30
- }
31
-
32
- textarea {
33
- min-width: 95%;
34
- max-width: 95%;
35
- }
36
- }
37
-
38
- .form-actions {
39
- width: 96%;
40
- text-align: left;
41
- border-radius: 4px;
42
- background: $grey1;
43
- padding: 10px 2% 10px 2%;
44
- float: left;
45
- }
46
-
47
- .hint {
48
- width: 95%;
49
- padding: 10px 2% 10px 2%;
50
- left: 0;
51
- }
52
- }
53
-
54
- /* Fixed and Responsive Form */
55
-
56
- .form-fixed {
57
- label {
58
- width: 120px;
59
- margin: 8px 15px 0 0;
60
- text-align: right;
61
- float: left;
62
- }
63
-
64
- .checkbox {
65
- width: auto;
66
- margin-left: 135px;
67
- margin-bottom: 15px;
68
- clear: both;
69
- }
70
-
71
- .radio_buttons {
72
- margin-bottom: 25px;
73
- clear: both;
74
- .control-label {
75
- margin-right: 0;
76
- }
77
- }
78
-
79
- .form-inputs {
80
- input[type="text"],
81
- input[type="password"],
82
- input[type="email"],
83
- input[type="tel"],
84
- input[type="number"],
85
- textarea {
86
- width: 320px;
87
- padding-left: 10px;
88
- padding-right: 10px;
89
- }
90
-
91
- textarea {
92
- min-width: 320px;
93
- max-width: 320px;
94
- }
95
- }
96
-
97
- .form-actions {
98
- margin-left: 135px;
99
- clear: both;
100
- }
101
-
102
- .hint {
103
- width: 320px;
104
- padding: 10px;
105
- left: 135px;
106
- }
107
- }
108
-
109
- /* Labels */
110
-
111
- input[type="checkbox"],
112
- input[type="radio"] {
113
- margin-right: 7px;
114
- }
115
-
116
- .radio_buttons {
117
- .radio {
118
- margin-left: 20px;
119
- }
120
- }
121
-
122
- /* Fields */
123
-
124
- .form-inputs {
125
- font-size: $font-medium;
126
- margin-top: 20px;
127
-
128
- .input {
129
- margin-bottom: 20px;
130
- position: relative;
131
- }
132
-
133
- abbr {
134
- border-bottom: none;
135
- color: red;
136
- }
137
-
138
- input[type="text"],
139
- input[type="password"],
140
- input[type="email"],
141
- input[type="tel"],
142
- input[type="number"] {
143
- border-radius: 4px;
144
- border: 1px solid $grey2;
145
- font: $font-medium $sans_serif;
146
- height: 40px;
147
- line-height: 40px;
148
- color: $grey4;
149
- outline: none;
150
- }
151
-
152
- input[type="text"],
153
- input[type="password"],
154
- input[type="email"],
155
- input[type="tel"],
156
- input[type="number"],
157
- select,
158
- textarea {
159
- margin-top: 8px;
160
- }
161
-
162
- textarea {
163
- border-radius: 4px;
164
- border: 1px solid $grey2;
165
- height: 80px;
166
- max-height: 160px;
167
- padding-top: 15px;
168
- padding-bottom: 15px;
169
- font: $font-medium $sans_serif;
170
- outline: none;
171
- }
172
- }
173
-
174
- /* Forms Actions */
175
-
176
- .form-actions {
177
- button,
178
- input[type="submit"],
179
- input[type="button"],
180
- .btn {
181
- border-radius: 4px;
182
- height: 40px;
183
- line-height: 40px;
184
- background: white;
185
- border: 1px solid $grey3;
186
- padding: 0 10px 0 10px;
187
- font: $font-medium $sans_serif;
188
- outline: none;
189
- color: $grey4;
190
- &:hover {
191
- opacity: .7;
192
- }
193
- }
194
- }
195
-
196
- /* Hint */
197
-
198
- .hint {
199
- border-radius: 4px;
200
- background: $grey5;
201
- border: 1px solid $grey5;
202
- font-size: $font-small;
203
- color: white;
204
- display: block;
205
- position: absolute;
206
- z-index: 300;
207
- opacity: .9;
208
- display: none;
209
- }
210
-
211
- .hint:before,
212
- .hint:after {
213
- content: '';
214
- position: absolute;
215
- top: -5px;
216
- left: 50%;
217
- margin-left: -9px;
218
- width: 0;
219
- height: 0;
220
- border-left: 10px solid transparent;
221
- border-right: 10px solid transparent;
222
- border-bottom: 10px solid $grey5;
223
- }
224
-
225
- .string .hint {
226
- bottom: -41px;
227
- }
228
-
229
- .text .hint {
230
- bottom: -38px;
231
- }
232
-
233
- /* Validation */
234
-
235
- .validation-error {
236
- border-top: 1px solid #ffbbb4;
237
- border-bottom: 1px solid #ffbbb4;
238
- background: #ffeae8;
239
- padding: 10px;
240
- margin: 0;
241
- display: none;
242
- li {
243
- margin-left: 20px;
244
- line-height: 19px;
245
- font-size: $font-small;
246
- color: #9e0000;
247
- }
248
- }