pah 0.0.13 → 0.0.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/.travis.yml +8 -0
  4. data/CHANGELOG.md +30 -0
  5. data/CONTRIBUTING.md +22 -0
  6. data/README.md +46 -30
  7. data/Rakefile +4 -0
  8. data/features/assets.feature +13 -0
  9. data/features/bullet.feature +7 -0
  10. data/features/canonical_host.feature +9 -0
  11. data/features/capybara.feature +10 -0
  12. data/features/database.feature +16 -0
  13. data/features/env.feature +19 -0
  14. data/features/gemfile.feature +10 -0
  15. data/features/generators.feature +18 -0
  16. data/features/git.feature +12 -0
  17. data/features/heroku.feature +6 -0
  18. data/features/jumpup.feature +13 -0
  19. data/features/layout.feature +12 -0
  20. data/features/letter_opener.feature +10 -0
  21. data/features/locale.feature +29 -0
  22. data/features/newrelic.feature +13 -0
  23. data/features/public.feature +20 -0
  24. data/features/puma.feature +11 -0
  25. data/features/rack_deflater.feature +10 -0
  26. data/features/rack_timeout.feature +7 -0
  27. data/features/rails_works.feature +17 -0
  28. data/features/readme.feature +14 -0
  29. data/features/remove_unused_files.feature +7 -0
  30. data/features/rollbar.feature +13 -0
  31. data/features/rspec.feature +13 -0
  32. data/features/run_specs.feature +15 -0
  33. data/features/runner.feature +28 -0
  34. data/features/secret_token.feature +34 -0
  35. data/features/secure_headers.feature +14 -0
  36. data/features/sendgrid.feature +14 -0
  37. data/features/simple_form.feature +6 -0
  38. data/features/step_definitions/create_simple_app.rb +10 -0
  39. data/features/step_definitions/file.rb +9 -0
  40. data/features/step_definitions/file_content.rb +14 -0
  41. data/features/support/bin/heroku +36 -0
  42. data/features/support/env.rb +9 -0
  43. data/features/support/file_helpers.rb +12 -0
  44. data/lib/pah/files/Gemfile +19 -18
  45. data/lib/pah/files/Procfile +1 -1
  46. data/lib/pah/files/README.md +56 -35
  47. data/lib/pah/files/app/assets/stylesheets/_variables.scss +9 -12
  48. data/lib/pah/files/app/assets/stylesheets/application.scss +5 -4
  49. data/lib/pah/files/app/assets/stylesheets/form.scss +33 -44
  50. data/lib/pah/files/app/assets/stylesheets/general.scss +10 -18
  51. data/lib/pah/files/app/assets/stylesheets/reset.scss +26 -15
  52. data/lib/pah/files/app/assets/stylesheets/responsive.scss +14 -25
  53. data/lib/pah/files/app/views/application/{_error_messages.html.haml → _error_messages.html.slim} +2 -3
  54. data/lib/pah/files/app/views/application/{_flash_messages.html.haml → _flash_messages.html.slim} +1 -1
  55. data/lib/pah/files/app/views/layouts/application.html.slim +51 -0
  56. data/lib/pah/files/config/initializers/database_connection.rb +9 -6
  57. data/lib/pah/files/config/locales/pt-BR.yml +8 -10
  58. data/lib/pah/files/config/newrelic.yml +227 -0
  59. data/lib/pah/files/config/puma.rb +17 -0
  60. data/lib/pah/files/spec/spec_helper.rb +14 -10
  61. data/lib/pah/files/spec/support/capybara.rb +1 -1
  62. data/lib/pah/partials/_bin.rb +4 -0
  63. data/lib/pah/partials/_canonical_host.rb +3 -3
  64. data/lib/pah/partials/_database.rb +1 -3
  65. data/lib/pah/partials/_gems.rb +15 -7
  66. data/lib/pah/partials/_generators.rb +1 -3
  67. data/lib/pah/partials/_heroku.rb +3 -10
  68. data/lib/pah/partials/_layout.rb +4 -4
  69. data/lib/pah/partials/_letter_opener.rb +1 -3
  70. data/lib/pah/partials/_locale.rb +2 -6
  71. data/lib/pah/partials/_newrelic.rb +6 -0
  72. data/lib/pah/partials/_puma.rb +2 -0
  73. data/lib/pah/partials/_rack_deflater.rb +8 -0
  74. data/lib/pah/partials/_readme.rb +1 -0
  75. data/lib/pah/partials/_rollbar.rb +13 -3
  76. data/lib/pah/partials/_rspec.rb +0 -1
  77. data/lib/pah/partials/_ruby_env.rb +1 -1
  78. data/lib/pah/partials/_secret_token.rb +4 -7
  79. data/lib/pah/partials/_secure_headers.rb +3 -3
  80. data/lib/pah/partials/_sendgrid.rb +19 -0
  81. data/lib/pah/partials/_simple_form.rb +1 -3
  82. data/lib/pah/template.rb +10 -3
  83. data/lib/pah/version.rb +2 -2
  84. data/pah.gemspec +2 -0
  85. metadata +115 -9
  86. data/lib/pah/files/app/views/layouts/application.html.haml +0 -63
  87. data/lib/pah/files/spec/support/deferred_garbage_collection.rb +0 -30
@@ -1,32 +1,29 @@
1
1
  @charset "utf-8";
2
2
 
3
-
4
3
  /* Font Variables */
5
-
6
4
  $sans_serif: Arial, "Helvetica", sans-serif;
7
-
8
5
  $font-small: 12px;
9
6
  $font-medium: 15px;
10
7
  $font-large: 19px;
11
8
  $font-big: 29px;
12
9
 
13
-
14
10
  /* Color Variables */
15
-
11
+ $main-color: #555;
12
+ $text: #333;
13
+ $darker-color: darken($main-color, 10%);
14
+ $lighter-color: lighten($main-color, 10%);
16
15
  $grey1: #eee;
17
16
  $grey2: #ddd;
18
17
  $grey3: #999;
19
18
  $grey4: #666;
20
19
  $grey5: #333;
21
20
 
22
-
23
21
  /* Mixins */
24
-
25
22
  @mixin transition($property) {
26
- -webkit-transition: $property 0.15s ease-in-out;
27
- -moz-transition: $property 0.15s ease-in-out;
28
- -o-transition: $property 0.15s ease-in-out;
29
- transition: $property 0.15s ease-in-out;
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;
30
27
  }
31
28
 
32
29
  @mixin clearfix {
@@ -39,4 +36,4 @@ $grey5: #333;
39
36
  height: 0;
40
37
  min-height: 0;
41
38
  }
42
- }
39
+ }
@@ -1,4 +1,5 @@
1
- @import "reset";
2
- @import "general";
3
- @import "form";
4
- @import "responsive";
1
+ @import "variables";
2
+ @import "reset";
3
+ @import "general";
4
+ @import "form";
5
+ @import "responsive";
@@ -1,27 +1,23 @@
1
1
  @charset "utf-8";
2
- @import "variables";
3
-
4
2
 
5
3
  /* Fluid Form */
6
4
 
7
5
  .simple_form {
8
-
9
6
  label {
10
7
  font-weight: bold;
11
8
  }
12
-
9
+
13
10
  .radio {
14
11
  width: auto;
15
12
  }
16
-
17
13
  }
18
14
 
19
15
  .form-fluid {
16
+ label {
17
+ display: block;
18
+ }
20
19
 
21
- label { display: block; }
22
-
23
20
  .form-inputs {
24
-
25
21
  input[type="text"],
26
22
  input[type="password"],
27
23
  input[type="email"],
@@ -37,9 +33,8 @@
37
33
  min-width: 95%;
38
34
  max-width: 95%;
39
35
  }
40
-
41
36
  }
42
-
37
+
43
38
  .form-actions {
44
39
  width: 96%;
45
40
  text-align: left;
@@ -54,36 +49,34 @@
54
49
  padding: 10px 2% 10px 2%;
55
50
  left: 0;
56
51
  }
57
-
58
52
  }
59
53
 
60
-
61
54
  /* Fixed and Responsive Form */
62
55
 
63
56
  .form-fixed {
64
-
65
57
  label {
66
58
  width: 120px;
67
59
  margin: 8px 15px 0 0;
68
60
  text-align: right;
69
61
  float: left;
70
62
  }
71
-
63
+
72
64
  .checkbox {
73
65
  width: auto;
74
66
  margin-left: 135px;
75
67
  margin-bottom: 15px;
76
68
  clear: both;
77
69
  }
78
-
70
+
79
71
  .radio_buttons {
80
72
  margin-bottom: 25px;
81
73
  clear: both;
82
- .control-label { margin-right: 0; }
74
+ .control-label {
75
+ margin-right: 0;
76
+ }
83
77
  }
84
-
85
- .form-inputs {
86
78
 
79
+ .form-inputs {
87
80
  input[type="text"],
88
81
  input[type="password"],
89
82
  input[type="email"],
@@ -99,39 +92,39 @@
99
92
  min-width: 320px;
100
93
  max-width: 320px;
101
94
  }
102
-
103
95
  }
104
-
96
+
105
97
  .form-actions {
106
98
  margin-left: 135px;
107
99
  clear: both;
108
100
  }
109
-
101
+
110
102
  .hint {
111
103
  width: 320px;
112
104
  padding: 10px;
113
105
  left: 135px;
114
106
  }
115
-
116
107
  }
117
108
 
118
-
119
109
  /* Labels */
120
110
 
121
111
  input[type="checkbox"],
122
- input[type="radio"] { margin-right: 7px; }
112
+ input[type="radio"] {
113
+ margin-right: 7px;
114
+ }
123
115
 
124
116
  .radio_buttons {
125
- .radio { margin-left: 20px; }
117
+ .radio {
118
+ margin-left: 20px;
119
+ }
126
120
  }
127
121
 
128
-
129
122
  /* Fields */
130
123
 
131
124
  .form-inputs {
132
125
  font-size: $font-medium;
133
126
  margin-top: 20px;
134
-
127
+
135
128
  .input {
136
129
  margin-bottom: 20px;
137
130
  position: relative;
@@ -155,7 +148,7 @@ input[type="radio"] { margin-right: 7px; }
155
148
  color: $grey4;
156
149
  outline: none;
157
150
  }
158
-
151
+
159
152
  input[type="text"],
160
153
  input[type="password"],
161
154
  input[type="email"],
@@ -165,7 +158,7 @@ input[type="radio"] { margin-right: 7px; }
165
158
  textarea {
166
159
  margin-top: 8px;
167
160
  }
168
-
161
+
169
162
  textarea {
170
163
  border-radius: 4px;
171
164
  border: 1px solid $grey2;
@@ -176,14 +169,11 @@ input[type="radio"] { margin-right: 7px; }
176
169
  font: $font-medium $sans_serif;
177
170
  outline: none;
178
171
  }
179
-
180
172
  }
181
173
 
182
-
183
174
  /* Forms Actions */
184
-
185
- .form-actions {
186
175
 
176
+ .form-actions {
187
177
  button,
188
178
  input[type="submit"],
189
179
  input[type="button"],
@@ -197,12 +187,12 @@ input[type="radio"] { margin-right: 7px; }
197
187
  font: $font-medium $sans_serif;
198
188
  outline: none;
199
189
  color: $grey4;
200
- &:hover { opacity: .7; }
190
+ &:hover {
191
+ opacity: .7;
192
+ }
201
193
  }
202
-
203
194
  }
204
195
 
205
-
206
196
  /* Hint */
207
197
 
208
198
  .hint {
@@ -232,9 +222,13 @@ input[type="radio"] { margin-right: 7px; }
232
222
  border-bottom: 10px solid $grey5;
233
223
  }
234
224
 
235
- .string .hint { bottom: -41px; }
236
- .text .hint { bottom: -38px; }
225
+ .string .hint {
226
+ bottom: -41px;
227
+ }
237
228
 
229
+ .text .hint {
230
+ bottom: -38px;
231
+ }
238
232
 
239
233
  /* Validation */
240
234
 
@@ -251,9 +245,4 @@ input[type="radio"] { margin-right: 7px; }
251
245
  font-size: $font-small;
252
246
  color: #9e0000;
253
247
  }
254
- }
255
-
256
-
257
- /* Othes Classes */
258
-
259
- .disabled { display: none; }
248
+ }
@@ -1,23 +1,16 @@
1
1
  @charset "utf-8";
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% );
8
-
9
2
 
10
3
  /* General Styles */
11
- header{
4
+ header {
12
5
  height: 50px;
13
6
  margin-bottom: 10px;
14
7
  background: $lighter-color;
15
8
  }
16
9
 
17
10
  html, body {
18
- height: 100%;
19
- margin: 0;
20
- padding: 0;
11
+ height: 100%;
12
+ margin: 0;
13
+ padding: 0;
21
14
  }
22
15
 
23
16
  body {
@@ -33,18 +26,18 @@ body {
33
26
  min-height: 100%;
34
27
  position: absolute;
35
28
  width: 100%;
36
- // padding-bottom: 80px; // should be used if there are divs with float left on main content
29
+ // padding-bottom: 80px; // should be used if there are divs with float left on main content
37
30
  }
38
31
 
39
32
  #main-content {
40
- margin: 0 auto;
41
- padding-bottom: 100px;
42
- width: 960px;
33
+ margin: 0 auto;
34
+ padding-bottom: 100px;
35
+ width: 960px;
43
36
  }
44
37
 
45
- footer{
38
+ footer {
46
39
  background: $darker-color;
47
- color:$lighter-color;
40
+ color: $lighter-color;
48
41
  bottom: 0px;
49
42
  height: 40px;
50
43
  left: 0;
@@ -52,4 +45,3 @@ footer{
52
45
  position: absolute;
53
46
  width: 100%;
54
47
  }
55
-
@@ -1,15 +1,14 @@
1
1
  @charset "utf-8";
2
2
 
3
-
4
3
  /* Reset */
5
4
 
6
5
  body,
7
6
  h1, h2, h3, h4,
8
7
  form, input, textarea, label, a, img {
9
- vertical-align: baseline;
10
- font-style: normal;
8
+ vertical-align: baseline;
9
+ font-style: normal;
11
10
  list-style-type: none;
12
- padding: 0;
11
+ padding: 0;
13
12
  margin: 0;
14
13
  border: 0;
15
14
  }
@@ -17,9 +16,13 @@ form, input, textarea, label, a, img {
17
16
  article, aside, details,
18
17
  figcaption, figure,
19
18
  footer, header, hgroup,
20
- menu, nav, section { display: block; }
19
+ menu, nav, section {
20
+ display: block;
21
+ }
21
22
 
22
- p { margin: 0 0 20px 0; }
23
+ p {
24
+ margin: 0 0 20px 0;
25
+ }
23
26
 
24
27
  hr {
25
28
  height: 1px;
@@ -28,14 +31,18 @@ hr {
28
31
  }
29
32
 
30
33
  em,
31
- dfn { font-style: italic; }
34
+ dfn {
35
+ font-style: italic;
36
+ }
32
37
 
33
38
  b,
34
- strong { font-weight: bold; }
39
+ strong {
40
+ font-weight: bold;
41
+ }
35
42
 
36
43
  table {
37
- border-collapse: collapse;
38
- border-spacing: 0;
44
+ border-collapse: collapse;
45
+ border-spacing: 0;
39
46
  }
40
47
 
41
48
  fieldset {
@@ -46,7 +53,9 @@ fieldset {
46
53
 
47
54
  button,
48
55
  html input[type="button"],
49
- input[type="submit"] { cursor: pointer; }
56
+ input[type="submit"] {
57
+ cursor: pointer;
58
+ }
50
59
 
51
60
  button,
52
61
  input {
@@ -55,10 +64,12 @@ input {
55
64
  }
56
65
 
57
66
  abbr[title],
58
- dfn[title]{
59
- cursor: help;
60
- border-bottom: 1px dotted;
67
+ dfn[title] {
68
+ cursor: help;
69
+ border-bottom: 1px dotted;
61
70
  }
62
71
 
63
72
  pre,
64
- code { font-family: monospace; }
73
+ code {
74
+ font-family: monospace;
75
+ }
@@ -1,6 +1,4 @@
1
1
  @charset "utf-8";
2
- @import "variables";
3
-
4
2
 
5
3
  /* Viewport Config */
6
4
 
@@ -20,33 +18,28 @@ body {
20
18
  zoom: 1.0;
21
19
  }
22
20
 
21
+ /**
22
+ * Max Width, 960px
23
+ * Media Queries for Tablets and Kindle.
24
+ */
23
25
 
24
- /*
25
- Max Width, 960px
26
- Media Queries for Tablets and Kindle.
27
- */
28
-
29
- @media (max-width:960px) {
30
-
26
+ @media (max-width: 960px) {
31
27
  .holder {
32
28
  width: 700px;
33
29
  }
34
-
35
30
  }
36
31
 
37
-
38
- /*
39
- Max Width, 686px
40
- Media Queries for Smartphones.
41
- */
32
+ /**
33
+ * Max Width, 686px
34
+ * Media Queries for Smartphones.
35
+ */
42
36
 
43
37
  @media only screen and (max-width: 686px) {
44
-
45
38
  .holder {
46
39
  width: 90%;
47
40
  padding: 0 5% 0 5%;
48
41
  }
49
-
42
+
50
43
  .simple_form {
51
44
  label {
52
45
  width: auto;
@@ -56,11 +49,9 @@ Media Queries for Smartphones.
56
49
  }
57
50
  }
58
51
 
59
-
60
52
  /* Fixed and Responsive Form */
61
53
 
62
54
  .form-fixed {
63
-
64
55
  .checkbox {
65
56
  margin-left: 0;
66
57
  margin-bottom: 0;
@@ -69,11 +60,12 @@ Media Queries for Smartphones.
69
60
  .radio_buttons {
70
61
  margin-bottom: 0;
71
62
  clear: both;
72
- .control-label { margin-right: 0; }
63
+ .control-label {
64
+ margin-right: 0;
65
+ }
73
66
  }
74
67
 
75
68
  .form-inputs {
76
-
77
69
  input[type="text"],
78
70
  input[type="password"],
79
71
  input[type="email"],
@@ -89,9 +81,8 @@ Media Queries for Smartphones.
89
81
  min-width: 95%;
90
82
  max-width: 95%;
91
83
  }
92
-
93
84
  }
94
-
85
+
95
86
  .form-actions {
96
87
  margin-top: 20px;
97
88
  margin-left: 0;
@@ -102,7 +93,5 @@ Media Queries for Smartphones.
102
93
  padding: 10px 2% 10px 2%;
103
94
  left: 0;
104
95
  }
105
-
106
96
  }
107
-
108
97
  }