exception_handler 0.5.1 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -1
  3. data/.travis.yml +4 -4
  4. data/Gemfile +1 -3
  5. data/README.md +111 -98
  6. data/app/assets/images/exception_handler/connect/facebook.png +0 -0
  7. data/app/assets/images/exception_handler/connect/fusion.png +0 -0
  8. data/app/assets/images/exception_handler/connect/linkedin.png +0 -0
  9. data/app/assets/images/exception_handler/connect/twitter.png +0 -0
  10. data/app/assets/images/exception_handler/connect/youtube.png +0 -0
  11. data/app/assets/images/exception_handler/noise.png +0 -0
  12. data/app/assets/images/favicon.ico +0 -0
  13. data/app/assets/stylesheets/exception_handler.css.erb +18 -0
  14. data/app/assets/stylesheets/styles/_base.css.erb +34 -0
  15. data/app/assets/stylesheets/styles/_exception.css.erb +105 -0
  16. data/app/assets/stylesheets/styles/_footer.css.erb +27 -0
  17. data/app/assets/stylesheets/styles/_responsive.css +5 -0
  18. data/app/controllers/exception_handler/exception_controller.rb +28 -33
  19. data/app/mailers/exception_handler/exception_mailer.rb +17 -0
  20. data/app/models/exception_handler/exception.rb +191 -0
  21. data/app/views/exception_handler/exception/show.html.erb +3 -32
  22. data/app/views/exception_handler/mailers/layout.haml +8 -0
  23. data/app/views/exception_handler/mailers/layout.text.erb +1 -0
  24. data/app/views/exception_handler/mailers/new_exception.erb +4 -0
  25. data/app/views/layouts/exception.html.erb +15 -23
  26. data/config/locales/exception_handler.en.yml +13 -0
  27. data/exception_handler.gemspec +61 -16
  28. data/lib/exception_handler.rb +20 -79
  29. data/lib/exception_handler/config.rb +20 -22
  30. data/lib/exception_handler/engine.rb +36 -0
  31. data/lib/generators/exception_handler/migration_generator.rb +28 -10
  32. data/lib/generators/exception_handler/views_generator.rb +5 -5
  33. data/lib/generators/templates/migration.rb.erb +12 -11
  34. metadata +41 -64
  35. data/app/assets/images/exception_handler/close.png +0 -0
  36. data/app/assets/images/exception_handler/home.png +0 -0
  37. data/app/assets/stylesheets/exception_handler/error.css.erb +0 -309
  38. data/app/helpers/exception_handler/application_helper.rb +0 -56
  39. data/app/models/exception_handler/error.rb +0 -14
  40. data/app/services/exception_handler/exception.rb +0 -34
  41. data/config/locales/en.yml +0 -9
  42. data/lib/exception_handler/parse.rb +0 -23
  43. data/lib/exception_handler/parser/data.rb +0 -59
  44. data/lib/exception_handler/parser/ignore.rb +0 -32
  45. data/lib/exception_handler/version.rb +0 -3
  46. data/post_install_message.md +0 -53
  47. data/spec/helpers/exception_handler/application_helper_spec.rb +0 -42
@@ -2,13 +2,13 @@ module ExceptionHandler
2
2
  class ViewsGenerator < Rails::Generators::Base
3
3
 
4
4
  #Views
5
- @@views = %w(views controllers helpers models assets)
5
+ VIEWS = %w(views controllers models assets)
6
6
 
7
7
  #Options
8
- class_option :files, aliases: "-v", default: @@views, type: :array, desc: "Select file types (views, models, controllers, assets)"
8
+ class_option :files, aliases: "-v", default: VIEWS, type: :array, desc: "Select file types (views, models, controllers, assets)"
9
9
 
10
10
  #Needed to reference files
11
- source_root File.expand_path("../../../../app", __FILE__)
11
+ source_root File.expand_path("../../../../app", __FILE__)
12
12
 
13
13
  ###########################################
14
14
 
@@ -25,7 +25,7 @@ module ExceptionHandler
25
25
  def generate_files args
26
26
 
27
27
  #Valid?
28
- return raise args.inspect unless args.nil? || (args-@@views).empty?
28
+ return raise args.inspect unless args.nil? || (args-VIEWS).empty?
29
29
 
30
30
  #Types
31
31
  for arg in args do
@@ -39,4 +39,4 @@ module ExceptionHandler
39
39
  ###########################################
40
40
 
41
41
  end
42
- end
42
+ end
@@ -1,15 +1,16 @@
1
- class Create<%= table_name.to_s.gsub("_","").titleize %> < ActiveRecord::Migration
2
- def change
1
+ class Create<%= table_name.to_s.gsub("_","").titleize %> < ActiveRecord::Migration<%= migration_version %>
2
+
3
+ def self.up
3
4
  create_table :<%= table_name %> do |t|
4
- t.references :usable, polymorphic: true
5
- t.text :class_name
6
- t.text :message
7
- t.text :trace
8
- t.text :target_url
9
- t.text :referer_url
10
- t.text :params
11
- t.text :user_agent
5
+ <% ExceptionHandler::ATTRS.each do |attr| %>
6
+ t.text :<%= attr %>
7
+ <% end %>
12
8
  t.timestamps
13
9
  end
14
10
  end
15
- end
11
+
12
+ def self.down
13
+ drop_table :<%= table_name %>
14
+ end
15
+
16
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: exception_handler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Peck
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-14 00:00:00.000000000 Z
11
+ date: 2016-11-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -17,7 +17,7 @@ dependencies:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.6'
20
- type: :development
20
+ type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
@@ -28,32 +28,32 @@ dependencies:
28
28
  name: rails
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 4.0.0
34
- type: :development
33
+ version: 4.2.0
34
+ type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 4.0.0
40
+ version: 4.2.0
41
41
  - !ruby/object:Gem::Dependency
42
- name: activerecord
42
+ name: responders
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
47
+ version: '2.3'
48
+ type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: '2.3'
55
55
  - !ruby/object:Gem::Dependency
56
- name: activesupport
56
+ name: autoprefixer-rails
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
@@ -84,42 +84,42 @@ dependencies:
84
84
  name: rspec
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: '3.3'
89
+ version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
- version: '3.3'
96
+ version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rspec-rails
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "~>"
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: '3.3'
103
+ version: '0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - "~>"
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
- version: '3.3'
110
+ version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: sqlite3
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - "~>"
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
117
  version: 1.3.10
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - "~>"
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: 1.3.10
125
125
  description: Rails gem to create custom error pages. Captures exceptions using "exception_app"
@@ -141,34 +141,35 @@ files:
141
141
  - app/assets/images/exception_handler/alert.png
142
142
  - app/assets/images/exception_handler/bg.jpg
143
143
  - app/assets/images/exception_handler/bg_overlay.png
144
- - app/assets/images/exception_handler/close.png
145
144
  - app/assets/images/exception_handler/connect/facebook.png
146
145
  - app/assets/images/exception_handler/connect/fusion.png
147
146
  - app/assets/images/exception_handler/connect/linkedin.png
148
147
  - app/assets/images/exception_handler/connect/twitter.png
149
148
  - app/assets/images/exception_handler/connect/youtube.png
150
- - app/assets/images/exception_handler/home.png
151
149
  - app/assets/images/exception_handler/noise.png
152
150
  - app/assets/images/exception_handler/overlay.png
153
- - app/assets/stylesheets/exception_handler/error.css.erb
151
+ - app/assets/images/favicon.ico
152
+ - app/assets/stylesheets/exception_handler.css.erb
153
+ - app/assets/stylesheets/styles/_base.css.erb
154
+ - app/assets/stylesheets/styles/_exception.css.erb
155
+ - app/assets/stylesheets/styles/_footer.css.erb
156
+ - app/assets/stylesheets/styles/_responsive.css
154
157
  - app/controllers/exception_handler/exception_controller.rb
155
- - app/helpers/exception_handler/application_helper.rb
156
- - app/models/exception_handler/error.rb
157
- - app/services/exception_handler/exception.rb
158
+ - app/mailers/exception_handler/exception_mailer.rb
159
+ - app/models/exception_handler/exception.rb
158
160
  - app/views/exception_handler/exception/show.html.erb
161
+ - app/views/exception_handler/mailers/layout.haml
162
+ - app/views/exception_handler/mailers/layout.text.erb
163
+ - app/views/exception_handler/mailers/new_exception.erb
159
164
  - app/views/layouts/exception.html.erb
160
- - config/locales/en.yml
165
+ - config/locales/exception_handler.en.yml
161
166
  - exception_handler.gemspec
162
167
  - lib/exception_handler.rb
163
168
  - lib/exception_handler/config.rb
164
- - lib/exception_handler/parse.rb
165
- - lib/exception_handler/parser/data.rb
166
- - lib/exception_handler/parser/ignore.rb
167
- - lib/exception_handler/version.rb
169
+ - lib/exception_handler/engine.rb
168
170
  - lib/generators/exception_handler/migration_generator.rb
169
171
  - lib/generators/exception_handler/views_generator.rb
170
172
  - lib/generators/templates/migration.rb.erb
171
- - post_install_message.md
172
173
  - spec/database.yml
173
174
  - spec/dummy/Rakefile
174
175
  - spec/dummy/app/assets/config/manifest.js
@@ -229,36 +230,12 @@ files:
229
230
  - spec/dummy/public/apple-touch-icon.png
230
231
  - spec/dummy/public/favicon.ico
231
232
  - spec/exception_handler.rb
232
- - spec/helpers/exception_handler/application_helper_spec.rb
233
233
  - spec/spec_helper.rb
234
234
  homepage: http://github.com/richpeck/exception_handler
235
235
  licenses:
236
236
  - MIT
237
237
  metadata: {}
238
- post_install_message: "########################################################################################\n##
239
- \ _____ _ _ _ _ _ _ ##\n##
240
- | ___| | | (_) | | | | | | | ##\n##
241
- | |____ _____ ___ _ __ | |_ _ ___ _ __ | |_| | __ _ _ __ __| | | ___ _ __
242
- \ ##\n## | __\\ \\/ / __/ _ \\ '_ \\| __| |/ _ \\| '_ \\ | _ |/ _` | '_ \\
243
- / _` | |/ _ \\ '__| ##\n## | |___> < (_| __/ |_) | |_| | (_) | | | | | | | |
244
- (_| | | | | (_| | | __/ | ##\n## \\____/_/\\_\\___\\___| .__/ \\__|_|\\___/|_|
245
- |_| \\_| |_/\\__,_|_| |_|\\__,_|_|\\___|_| ## \n## | | ##\n##
246
- \ |_| ##\n########################################################################################\n\nIMPORTANT
247
- -\n**IF UPGRADING EXCEPTION HANDLER (to 0.4.7)***\n**DELETE INITIALIZER (config/initializers/exception_handler.rb)**\n\nWe've
248
- changed the initialization process for ExceptionHandler.\n\nThe initializer has
249
- been replaced with /config/application.rb\noptions:\n\n#config/application.rb\nconfig.exception_handler
250
- = {\n\tdb: \tfalse, #-> defaults to :errors if true, else use :table_name\n\temail:
251
- \tfalse, #-> need to integrate\n\tsocial: {\n\t :twitter \t=> \t'frontlineutils',\n\t
252
- \ :facebook \t=> \t'frontline.utilities',\n\t :linkedin \t=> \t'frontline-utilities',\n\t
253
- \ :youtube \t=>\t'frontlineutils',\n\t :fusion \t=> \t'frontlineutils',\n\t
254
- \ :url => {\n\t\t :facebook \t=> \t'https://facebook.com',\n\t\t :twitter
255
- \t=> \t'http://twitter.com',\n\t\t :youtube \t=>\t'https://youtube.com/user',\n\t\t
256
- \ :linkedin \t=> \t'https://linkedin.com/company',\n\t\t :fusion \t=> \t'https://frontlinefusion.com',\n\t\t},\n\t},\n\tlayouts:
257
- {\n\t '400' => nil,\n\t '500' => 'exception'\n\t},\n}\n\nIf you've made any
258
- changes to your initializer,\nyou MUST DELETE it, replacing the options with\nthose
259
- in config/application.rb, or\nconfig/environments/production.rb.\n\nMore info on
260
- the ExceptionHandler github page:\nhttp://github.com/richpeck/exception_handler\n\nThank
261
- you & enjoy!!"
238
+ post_install_message:
262
239
  rdoc_options: []
263
240
  require_paths:
264
241
  - lib
@@ -266,7 +243,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
266
243
  requirements:
267
244
  - - ">="
268
245
  - !ruby/object:Gem::Version
269
- version: '0'
246
+ version: 2.1.0
270
247
  required_rubygems_version: !ruby/object:Gem::Requirement
271
248
  requirements:
272
249
  - - ">="
@@ -274,7 +251,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
274
251
  version: '0'
275
252
  requirements: []
276
253
  rubyforge_project:
277
- rubygems_version: 2.4.5.1
254
+ rubygems_version: 2.6.6
278
255
  signing_key:
279
256
  specification_version: 4
280
257
  summary: Rails gem to show custom error pages in production. Also logs errors in db
@@ -1,309 +0,0 @@
1
- /* Vars */
2
- <% size = 18 %>
3
- <% opacity = 0.85 %>
4
- <% footer = 50 %>
5
- <% radius = 5 %>
6
- <% title_bg = "rgba(227,11,11,1)" %>
7
-
8
- /**************/
9
- /* Responsive */
10
- /**************/
11
-
12
- @media screen and (max-width: 950px) {
13
- html { background-size: cover !important; }
14
- .container .error { width: 55% !important; }
15
- }
16
-
17
- /***********/
18
- /* Styling */
19
- /***********/
20
-
21
- * { margin: 0; }
22
- html, body, .container { height: 100%; }
23
- html {
24
- height: 100%;
25
- background: #010008 url(<%= asset_url("exception_handler/bg.jpg") %>) top left no-repeat;
26
- background-size: 100% 100%;
27
- }
28
- body {
29
- font-family: Helvetica, Arial, Sans-Serif;
30
- font-size: 14px;
31
- text-transform: capitalize;
32
- }
33
- body:before,
34
- body:after {
35
- content: "";
36
- position: absolute;
37
- top: 0;
38
- left: 0;
39
- width: 100%;
40
- height: 100%;
41
- z-index: 1000;
42
- }
43
- body:before{ background-image: url(<%=asset_url("exception_handler/noise.png") %>); background-repeat: repeat; }
44
- body:after{ background-image: url(<%=asset_url("exception_handler/bg_overlay.png") %>); background-repeat: no-repeat; }
45
-
46
- a { color: #fff; text-decoration: none; }
47
- a:hover { text-decoration: underline; }
48
-
49
- .container {
50
- position: relative;
51
- min-height: 100%;
52
- overflow-y: hidden; /* Shouldn't need to have this */
53
- margin-bottom: -<%= footer * 1.2 %>px;
54
- z-index: 1100;
55
- }
56
-
57
- .container .error {
58
- display: block;
59
- margin: 10% auto 0;
60
- width: 25%;
61
- color: #000;
62
- text-align: center;
63
- overflow: hidden;
64
- background: rgba(255,255,255,1);
65
- border: 1px solid rgba(0,0,0,1);
66
- border-radius: <%= radius %>px;
67
-
68
- -moz-background-clip: padding;
69
- -webkit-background-clip: padding-box;
70
- background-clip: padding-box;
71
-
72
- -webkit-transition: width 0.15s ease-in-out;
73
- -moz-transition: width 0.15s ease-in-out;
74
- -ms-transition: width 0.15s ease-in-out;
75
- -o-transition: width 0.15s ease-in-out;
76
- transition: width 0.15s ease-in-out;
77
- }
78
-
79
- .container .error img.alert {
80
- display: block;
81
- margin: 0 auto 20px auto;
82
- }
83
-
84
- .container .message > * { display: block; }
85
- .container .message .title {
86
- display: block;
87
- position: relative;
88
- font-weight: bold;
89
- font-size: 0.85em;
90
- margin: 0;
91
- color: rgba(255,255,255,1);
92
- background: <%= title_bg %>;
93
- padding: 12px 15px;
94
- text-align: left;
95
- text-shadow: 0px 1px 0px rgba(0,0,0,1);
96
- overflow-y: hidden;
97
-
98
- /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#7a07ed+0,000000+100&amp;0+0,1+100 */
99
- background: <%= title_bg %> -moz-linear-gradient(top, rgba(227,11,11,0) 0%, rgba(0,0,0,0.4) 100%); /* FF3.6+ */
100
- background: <%= title_bg %> -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(227,11,11,0)), color-stop(100%,rgba(0,0,0,0.4))); /* Chrome,Safari4+ */
101
- background: <%= title_bg %> -webkit-linear-gradient(top, rgba(227,11,11,0) 0%,rgba(0,0,0,0.4) 100%); /* Chrome10+,Safari5.1+ */
102
- background: <%= title_bg %> -o-linear-gradient(top, rgba(227,11,11,0) 0%,rgba(0,0,0,0.4) 100%); /* Opera 11.10+ */
103
- background: <%= title_bg %> -ms-linear-gradient(top, rgba(227,11,11,0) 0%,rgba(0,0,0,0.4) 100%); /* IE10+ */
104
- background: <%= title_bg %> linear-gradient(to bottom, rgba(227,11,11,0) 0%,rgba(0,0,0,0.4) 100%); /* W3C */
105
- filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#007a07ed', endColorstr='#000000',GradientType=0 ); /* IE6-9 */
106
- }
107
- .container .message .title:before,
108
- .container .message .title:after {
109
- position: absolute;
110
- content: "";
111
- width: 100%;
112
- left: 0;
113
- }
114
- .container .message .title:before {
115
- position: absolute;
116
- content: "";
117
- width: 100%;
118
- left: 0;
119
- height: 100%;
120
- top: 0;
121
- background: url(<%= asset_url("exception_handler/overlay.png") %>) repeat;
122
- background-size: 100%;
123
- }
124
- .container .message .title:after {
125
- height: 1px;
126
- background: rgba(255,255,255,0.1);
127
- bottom: 0px;
128
- }
129
- .container .message .title a.close {
130
- float: right;
131
- position: relative;
132
- top: 2px;
133
- right: -2px;
134
- }
135
- .container .message .title a.close img {
136
- width: 12px;
137
-
138
- -webkit-transition: opacity 0.15s ease-in-out;
139
- -moz-transition: opacity 0.15s ease-in-out;
140
- -ms-transition: opacity 0.15s ease-in-out;
141
- -o-transition: opacity 0.15s ease-in-out;
142
- transition: opacity 0.15s ease-in-out;
143
- }
144
- .container .message .title a.close:hover img { opacity: 0.75; }
145
-
146
- /***********/
147
- /* Details */
148
- /***********/
149
-
150
- .container .message .details {
151
- position: relative;
152
- margin: 0;
153
- padding: 0;
154
- height: 310px;
155
- width: 100%;
156
- background-image: url(<%= asset_url("exception_handler/alert.jpg") %>);
157
- background-repeat: no-repeat;
158
- background-size: cover;
159
- background-position: center top;
160
- }
161
- .container .message .details:before,
162
- .container .message .details:after {
163
- display: block;
164
- content: "";
165
- position: absolute;
166
- left: 0;
167
- top: 0;
168
- width: 100%;
169
- z-index: 1000;
170
- }
171
- .container .message .details:after {
172
- height: 2px;
173
-
174
- /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#000000+0,000000+100&amp;1+0,0+100 */
175
- background: -moz-linear-gradient(top, rgba(0,0,0,0.485) 0%, rgba(0,0,0,0) 100%); /* FF3.6+ */
176
- background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(0,0,0,0.85)), color-stop(100%,rgba(0,0,0,0))); /* Chrome,Safari4+ */
177
- background: -webkit-linear-gradient(top, rgba(0,0,0,0.85) 0%,rgba(0,0,0,0) 100%); /* Chrome10+,Safari5.1+ */
178
- background: -o-linear-gradient(top, rgba(0,0,0,0.85) 0%,rgba(0,0,0,0) 100%); /* Opera 11.10+ */
179
- background: -ms-linear-gradient(top, rgba(0,0,0,0.85) 0%,rgba(0,0,0,0) 100%); /* IE10+ */
180
- background: linear-gradient(to bottom, rgba(0,0,0,0.85) 0%,rgba(0,0,0,0) 100%); /* W3C */
181
- filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#00000000',GradientType=0 ); /* IE6-9 */
182
-
183
- }
184
- .container .message .details:before {
185
- height: 100%;
186
- outline-offset: -1px;
187
- outline: 1px solid rgba(255,255,255,0.1);
188
- }
189
- .container .message .details img {
190
- margin: 10% 0 0 0;
191
- padding: 0;
192
- }
193
- .container .message .details .status {
194
- position: absolute;
195
- left: 0;
196
- bottom: 0;
197
- width: 100%;
198
- color: #fff;
199
- padding: 1em 15px;
200
- font-size: 1.1em;
201
- font-weight: bold;
202
- background: rgba(0,0,0,0.5);
203
- text-align: left;
204
- }
205
-
206
- .container .message .info {
207
- display: block;
208
- padding-top: 15px;
209
- margin: auto;
210
- font-size: 0.75em;
211
- background: rgba(232,232,232,1);
212
- }
213
- .container .message .info > * {
214
- display: block;
215
- padding-left: 15px;
216
- padding-right: 15px;
217
- }
218
- .container .message > .info h2 {
219
- margin: 10px 0;
220
- font-size: 1.75em;
221
- text-align: left;
222
- }
223
- .container .message > .info .notification {
224
- display: block;
225
- position: relative;
226
- clear: both;
227
- margin: 20px 0 0;
228
- padding-top: 5px;
229
- padding-bottom: 5px;
230
- text-align: left;
231
- background: rgba(205,205,205,1);
232
- border-top: 1px solid rgba(175,175,175,1);
233
- }
234
- .container .message > .info .notification > * { vertical-align: middle; }
235
- .container .message > .info .notification strong {
236
- display: inline-block;
237
- max-width: 75%;
238
- text-overflow: ellipsis;
239
- white-space: nowrap;
240
- overflow-x: hidden;
241
- }
242
- .container .message > .info .notification .version {
243
- display: inline-block;
244
- text-transform: lowercase;
245
- padding: 0 15px 0 0;
246
- margin: 0 10px 0 0;
247
- border-right: 1px solid rgba(175,175,175,1);
248
- }
249
- .container .message > .info .notification a.home {
250
- float: right;
251
- position: relative;
252
- right: -6px;
253
- opacity: <%= opacity * 0.5 %>;
254
-
255
- -webkit-transition: opacity 0.15s ease-in-out;
256
- -moz-transition: opacity 0.15s ease-in-out;
257
- -ms-transition: opacity 0.15s ease-in-out;
258
- -o-transition: opacity 0.15s ease-in-out;
259
- transition: opacity 0.15s ease-in-out;
260
- }
261
- .container .message > .info .notification a.home:hover { opacity: <%= opacity %>; }
262
- .container .message > .info .notification a.home img { height: 12px; }
263
-
264
- /**********/
265
- /* Footer */
266
- /**********/
267
-
268
- footer {
269
- display: block;
270
- position: relative;
271
- vertical-align: middle;
272
- clear: both;
273
- color: #fff;
274
- margin: 15px 2% 0;
275
- padding: 14px 0;
276
- box-sizing: border-box;
277
- max-height: <%= footer %>;
278
- z-index: 1100;
279
- border-top: 1px solid rgba(255,255,255,0.1);
280
- }
281
-
282
- footer .app { text-transform: uppercase; }
283
- footer .app strong { font-size: 1em; letter-spacing: 1px; }
284
- footer .app span { font-size: 0.9em; }
285
-
286
- footer .connect {
287
- display: block;
288
- float: right;
289
- clear: both;
290
- text-align: center;
291
- }
292
-
293
- footer .connect:hover a { opacity: <%= opacity * 0.5 %>; }
294
- footer .connect a {
295
- display: inline-block;
296
- opacity: <%= opacity * 0.7 %>;
297
- padding-left: 4px;
298
- margin: 0 -1px; /* Use 0 -1px for inline block & ERB - HAML removes whitespace; ERB does now - http://haml.info/docs/yardoc/file.REFERENCE.html#whitespace_removal__and_ */
299
- transition: opacity 0.2s ease;
300
- vertical-align: middle;
301
- }
302
-
303
- footer .connect a img { display: block; padding: 0 5px; }
304
- footer .connect a.facebook img { height: <%= size * 0.92 %>px; }
305
- footer .connect a.twitter img { height: <%= size * 0.88 %>px; }
306
- footer .connect a.youtube img { height: <%= size %>px; }
307
- footer .connect a.linkedin img { height: <%= size * 0.97 %>px; }
308
- footer .connect a.fusion img { height: <%= size %>px; }
309
- footer .connect:hover a:hover { opacity: 1; }