pah 0.0.14 → 0.0.15

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 (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
- }