whoops 0.1.10 → 0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. data/{lib/generators/whoops/templates → app}/assets/javascripts/hideshow.js +0 -0
  2. data/{lib/generators/whoops/templates → app}/assets/javascripts/jquery-1.5.2.min.js +0 -0
  3. data/{lib/generators/whoops/templates → app}/assets/javascripts/jquery.equalHeight.js +0 -0
  4. data/{lib/generators/whoops/templates → app}/assets/javascripts/jquery.form.js +0 -0
  5. data/{lib/generators/whoops/templates → app}/assets/javascripts/jquery.tablesorter.min.js +0 -0
  6. data/{lib/generators/whoops/templates → app}/assets/javascripts/ui.js +0 -0
  7. data/{lib/generators/whoops/templates → app}/assets/javascripts/whoops.js +3 -4
  8. data/app/assets/stylesheets/autocomplete.scss +17 -0
  9. data/app/assets/stylesheets/bootstrap.scss +31 -0
  10. data/app/assets/stylesheets/forms.scss +478 -0
  11. data/app/assets/stylesheets/main.css.scss +0 -0
  12. data/app/assets/stylesheets/mixins.scss +220 -0
  13. data/app/assets/stylesheets/patterns.scss +1060 -0
  14. data/app/assets/stylesheets/reset.scss +141 -0
  15. data/app/assets/stylesheets/scaffolding.scss +108 -0
  16. data/app/assets/stylesheets/tables.scss +224 -0
  17. data/app/assets/stylesheets/type.scss +187 -0
  18. data/app/assets/stylesheets/variables.scss +60 -0
  19. data/app/assets/stylesheets/whoops-application.css +9 -0
  20. data/app/assets/stylesheets/whoops.css.scss +142 -0
  21. data/app/controllers/event_groups_controller.rb +4 -7
  22. data/app/controllers/events_controller.rb +1 -4
  23. data/app/helpers/event_groups_helper.rb +7 -3
  24. data/app/models/whoops/event.rb +5 -4
  25. data/app/models/whoops/event_group.rb +4 -4
  26. data/app/models/whoops/filter.rb +17 -4
  27. data/app/views/event_groups/_list.html.haml +15 -11
  28. data/app/views/event_groups/index.html.haml +14 -9
  29. data/app/views/events/_detail.html.haml +1 -1
  30. data/app/views/events/_details.html.haml +7 -3
  31. data/app/views/events/index.html.haml +20 -14
  32. data/app/views/layouts/whoops.html.haml +13 -30
  33. data/lib/whoops.rb +2 -2
  34. data/lib/whoops/engine.rb +4 -1
  35. metadata +55 -106
  36. data/lib/generators/whoops/assets_generator.rb +0 -16
  37. data/lib/generators/whoops/templates/assets/images/_ui/breadcrumb_divider.png +0 -0
  38. data/lib/generators/whoops/templates/assets/images/_ui/btn_submit.png +0 -0
  39. data/lib/generators/whoops/templates/assets/images/_ui/btn_submit_2.png +0 -0
  40. data/lib/generators/whoops/templates/assets/images/_ui/btn_view_site.png +0 -0
  41. data/lib/generators/whoops/templates/assets/images/_ui/header_bg.png +0 -0
  42. data/lib/generators/whoops/templates/assets/images/_ui/header_shadow.png +0 -0
  43. data/lib/generators/whoops/templates/assets/images/_ui/icn_add_user.png +0 -0
  44. data/lib/generators/whoops/templates/assets/images/_ui/icn_alert_error.png +0 -0
  45. data/lib/generators/whoops/templates/assets/images/_ui/icn_alert_info.png +0 -0
  46. data/lib/generators/whoops/templates/assets/images/_ui/icn_alert_success.png +0 -0
  47. data/lib/generators/whoops/templates/assets/images/_ui/icn_alert_warning.png +0 -0
  48. data/lib/generators/whoops/templates/assets/images/_ui/icn_audio.png +0 -0
  49. data/lib/generators/whoops/templates/assets/images/_ui/icn_categories.png +0 -0
  50. data/lib/generators/whoops/templates/assets/images/_ui/icn_edit.png +0 -0
  51. data/lib/generators/whoops/templates/assets/images/_ui/icn_edit_article.png +0 -0
  52. data/lib/generators/whoops/templates/assets/images/_ui/icn_folder.png +0 -0
  53. data/lib/generators/whoops/templates/assets/images/_ui/icn_info.png +0 -0
  54. data/lib/generators/whoops/templates/assets/images/_ui/icn_jump_back.png +0 -0
  55. data/lib/generators/whoops/templates/assets/images/_ui/icn_logout.png +0 -0
  56. data/lib/generators/whoops/templates/assets/images/_ui/icn_new_article.png +0 -0
  57. data/lib/generators/whoops/templates/assets/images/_ui/icn_photo.png +0 -0
  58. data/lib/generators/whoops/templates/assets/images/_ui/icn_profile.png +0 -0
  59. data/lib/generators/whoops/templates/assets/images/_ui/icn_search.png +0 -0
  60. data/lib/generators/whoops/templates/assets/images/_ui/icn_security.png +0 -0
  61. data/lib/generators/whoops/templates/assets/images/_ui/icn_settings.png +0 -0
  62. data/lib/generators/whoops/templates/assets/images/_ui/icn_tags.png +0 -0
  63. data/lib/generators/whoops/templates/assets/images/_ui/icn_trash.png +0 -0
  64. data/lib/generators/whoops/templates/assets/images/_ui/icn_user.png +0 -0
  65. data/lib/generators/whoops/templates/assets/images/_ui/icn_video.png +0 -0
  66. data/lib/generators/whoops/templates/assets/images/_ui/icn_view_users.png +0 -0
  67. data/lib/generators/whoops/templates/assets/images/_ui/module_footer_bg.png +0 -0
  68. data/lib/generators/whoops/templates/assets/images/_ui/post_message.png +0 -0
  69. data/lib/generators/whoops/templates/assets/images/_ui/secondary_bar.png +0 -0
  70. data/lib/generators/whoops/templates/assets/images/_ui/secondary_bar_shadow.png +0 -0
  71. data/lib/generators/whoops/templates/assets/images/_ui/sidebar.png +0 -0
  72. data/lib/generators/whoops/templates/assets/images/_ui/sidebar_divider.png +0 -0
  73. data/lib/generators/whoops/templates/assets/images/_ui/sidebar_shadow.png +0 -0
  74. data/lib/generators/whoops/templates/assets/images/_ui/table_sorter_header.png +0 -0
  75. data/lib/generators/whoops/templates/assets/stylesheets/ie.css +0 -49
  76. data/lib/generators/whoops/templates/assets/stylesheets/sass/_base.scss +0 -18
  77. data/lib/generators/whoops/templates/assets/stylesheets/sass/ie.scss +0 -43
  78. data/lib/generators/whoops/templates/assets/stylesheets/sass/screen.scss +0 -998
  79. data/lib/generators/whoops/templates/assets/stylesheets/screen.css +0 -1082
@@ -0,0 +1,187 @@
1
+ /* Typography.scss
2
+ * Headings, body text, lists, code, and more for a versatile and durable typography system
3
+ * ---------------------------------------------------------------------------------------- */
4
+
5
+
6
+ // BODY TEXT
7
+ // ---------
8
+
9
+ p {
10
+ @include shorthand-font(normal,$basefont,$baseline);
11
+ margin-bottom: $baseline / 2;
12
+ small {
13
+ font-size: $basefont - 2;
14
+ color: $grayLight;
15
+ }
16
+ }
17
+
18
+
19
+ // HEADINGS
20
+ // --------
21
+
22
+ h1, h2, h3, h4, h5, h6 {
23
+ font-weight: bold;
24
+ color: $grayDark;
25
+ small {
26
+ color: $grayLight;
27
+ }
28
+ }
29
+ h1 {
30
+ margin-bottom: $baseline;
31
+ font-size: 30px;
32
+ line-height: $baseline * 2;
33
+ small {
34
+ font-size: 18px;
35
+ }
36
+ }
37
+ h2 {
38
+ font-size: 24px;
39
+ line-height: $baseline * 2;
40
+ small {
41
+ font-size: 14px;
42
+ }
43
+ }
44
+ h3, h4, h5, h6 {
45
+ line-height: $baseline * 2;
46
+ }
47
+ h3 {
48
+ font-size: 18px;
49
+ small {
50
+ font-size: 14px;
51
+ }
52
+ }
53
+ h4 {
54
+ font-size: 16px;
55
+ small {
56
+ font-size: 12px;
57
+ }
58
+ }
59
+ h5 {
60
+ font-size: 14px;
61
+ }
62
+ h6 {
63
+ font-size: 13px;
64
+ color: $grayLight;
65
+ text-transform: uppercase;
66
+ }
67
+
68
+
69
+ // COLORS
70
+ // ------
71
+
72
+ // Unordered and Ordered lists
73
+ ul, ol {
74
+ margin: 0 0 $baseline 25px;
75
+ }
76
+ ul ul,
77
+ ul ol,
78
+ ol ol,
79
+ ol ul {
80
+ margin-bottom: 0;
81
+ }
82
+ ul {
83
+ list-style: disc;
84
+ }
85
+ ol {
86
+ list-style: decimal;
87
+ }
88
+ li {
89
+ line-height: $baseline;
90
+ color: $gray;
91
+ }
92
+ ul.unstyled {
93
+ list-style: none;
94
+ margin-left: 0;
95
+ }
96
+
97
+ // Description Lists
98
+ dl {
99
+ margin-bottom: $baseline;
100
+ dt, dd {
101
+ line-height: $baseline;
102
+ }
103
+ dt {
104
+ font-weight: bold;
105
+ }
106
+ dd {
107
+ margin-left: $baseline / 2;
108
+ }
109
+ }
110
+
111
+ // MISC
112
+ // ----
113
+
114
+ // Horizontal rules
115
+ hr {
116
+ margin: 20px 0 19px;
117
+ border: 0;
118
+ border-bottom: 1px solid #eee;
119
+ }
120
+
121
+ // Emphasis
122
+ strong {
123
+ font-style: inherit;
124
+ font-weight: bold;
125
+ }
126
+ em {
127
+ font-style: italic;
128
+ font-weight: inherit;
129
+ line-height: inherit;
130
+ }
131
+ .muted {
132
+ color: $grayLight;
133
+ }
134
+
135
+ // Blockquotes
136
+ blockquote {
137
+ margin-bottom: $baseline;
138
+ border-left: 5px solid #eee;
139
+ padding-left: 15px;
140
+ p {
141
+ @include shorthand-font(300,14px,$baseline);
142
+ margin-bottom: 0;
143
+ }
144
+ small {
145
+ display: block;
146
+ @include shorthand-font(300,12px,$baseline);
147
+ color: $grayLight;
148
+ &:before {
149
+ content: '\2014 \00A0';
150
+ }
151
+ }
152
+ }
153
+
154
+ // Addresses
155
+ address {
156
+ display: block;
157
+ line-height: $baseline;
158
+ margin-bottom: $baseline;
159
+ }
160
+
161
+ // Inline and block code styles
162
+ code, pre {
163
+ padding: 0 3px 2px;
164
+ font-family: Monaco, Andale Mono, Courier New, monospace;
165
+ font-size: 12px;
166
+ @include border-radius(3px);
167
+ }
168
+ code {
169
+ background-color: lighten($orange, 40%);
170
+ color: rgba(0,0,0,.75);
171
+ padding: 1px 3px;
172
+ }
173
+ pre {
174
+ background-color: #f5f5f5;
175
+ display: block;
176
+ padding: ($baseline - 1) / 2;
177
+ margin: 0 0 $baseline;
178
+ line-height: $baseline;
179
+ font-size: 12px;
180
+ border: 1px solid #ccc;
181
+ border: 1px solid rgba(0,0,0,.15);
182
+ @include border-radius(3px);
183
+ white-space: pre;
184
+ white-space: pre-wrap;
185
+ word-wrap: break-word;
186
+
187
+ }
@@ -0,0 +1,60 @@
1
+ /* variables.scss
2
+ * Variables and mixins to pre-ignite any new web development project
3
+ * ------------------------------------------------------------------ */
4
+
5
+
6
+ // Links
7
+ $linkColor: #0069d6;
8
+ $linkColorHover: darken($linkColor, 15);
9
+
10
+ // Grays
11
+ $black: #000;
12
+ $grayDark: lighten($black, 25%);
13
+ $gray: lighten($black, 50%);
14
+ $grayLight: lighten($black, 75%);
15
+ $grayLighter: lighten($black, 90%);
16
+ $white: #fff;
17
+
18
+ // Accent Colors
19
+ $blue: #049CDB;
20
+ $blueDark: #0064CD;
21
+ $green: #46a546;
22
+ $red: #9d261d;
23
+ $yellow: #ffc40d;
24
+ $orange: #f89406;
25
+ $pink: #c3325f;
26
+ $purple: #7a43b6;
27
+
28
+ // Baseline grid
29
+ $basefont: 13px;
30
+ $baseline: 18px;
31
+
32
+ // Griditude
33
+ // Modify the grid styles in mixins.scss
34
+ $gridColumns: 16;
35
+ $gridColumnWidth: 40px;
36
+ $gridGutterWidth: 20px;
37
+ $extraSpace: ($gridGutterWidth * 2); // For our grid calculations
38
+ $siteWidth: ($gridColumns * $gridColumnWidth) + ($gridGutterWidth * ($gridColumns - 1));
39
+
40
+ // Color Scheme
41
+ // Use this to roll your own color schemes if you like (unused by Bootstrap by default)
42
+ $baseColor: $blue; // Set a base color
43
+ $complement: complement($baseColor); // Determine a complementary color
44
+ $split1: adjust-hue($baseColor, 158); // Split complements
45
+ $split2: adjust-hue($baseColor, -158);
46
+ $triad1: adjust-hue($baseColor, 135); // Triads colors
47
+ $triad2: adjust-hue($baseColor, -135);
48
+ $tetra1: adjust-hue($baseColor, 90); // Tetra colors
49
+ $tetra2: adjust-hue($baseColor, -90);
50
+ $analog1: adjust-hue($baseColor, 22); // Analogs colors
51
+ $analog2: adjust-hue($baseColor, -22);
52
+
53
+
54
+
55
+ // More variables coming soon:
56
+ // - @basefont to @baseFontSize
57
+ // - @baseline to @baseLineHeight
58
+ // - @baseFontFamily
59
+ // - @primaryButtonColor
60
+ // - anything else? File an issue on GitHub
@@ -0,0 +1,9 @@
1
+ /*
2
+ * This is a manifest file that'll automatically include all the stylesheets available in this directory
3
+ * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
4
+ * the top of the compiled file, but it's generally better to create a new file per style scope.
5
+ *= require_self
6
+ *= require 'bootstrap'
7
+
8
+
9
+ */
@@ -0,0 +1,142 @@
1
+ body {
2
+ padding-top:60px;
3
+ color:#333;
4
+ }
5
+
6
+ li {
7
+ color: #333;
8
+ }
9
+
10
+ .listfill {
11
+ background:#555;
12
+ }
13
+
14
+ .alert-message.block-message {
15
+ border:none;
16
+ }
17
+
18
+
19
+ .topbar {
20
+ color:#999;
21
+ a {
22
+ color:white;
23
+ }
24
+ }
25
+
26
+ /* sidebar */
27
+ .container-fluid .sidebar {
28
+ margin-left:-20px;
29
+ margin-top:-20px;
30
+ padding-left:20px;
31
+ padding-right:20px;
32
+ width:200px;
33
+ background:#f8f7ef;
34
+
35
+ input[type=text] {
36
+ width:190px;
37
+ }
38
+
39
+
40
+ }
41
+
42
+ /* for kaminari pagination */
43
+ .sidebar .pagination {
44
+ margin:0;
45
+
46
+ a, .current {
47
+ line-height: ($baseline * 2) - 2;
48
+ padding:0;
49
+ border:none;
50
+ display:block;
51
+ float:left;
52
+ margin-right:2px;
53
+ }
54
+
55
+ .next, .first, .prev, .last { display:none; }
56
+ }
57
+
58
+ .content .pagination {
59
+ height: $baseline * 2 - 2;
60
+ margin: $baseline 0;
61
+
62
+ float: left;
63
+ margin: 0;
64
+ border: 1px solid #ddd;
65
+ border: 1px solid rgba(0,0,0,.15);
66
+ @include border-radius(3px);
67
+ @include box-shadow(0 1px 2px rgba(0,0,0,.05));
68
+
69
+ .page {
70
+ display: inline;
71
+ }
72
+ a, .current {
73
+ float: left;
74
+ padding: 0 14px;
75
+ line-height: ($baseline * 2) - 2;
76
+ border-right: 1px solid;
77
+ border-right-color: #ddd;
78
+ border-right-color: rgba(0,0,0,.15);
79
+ *border-right-color: #ddd; /* IE6-7 */
80
+ text-decoration: none;
81
+ }
82
+ a:hover,
83
+ .current {
84
+ background-color: lighten($blue, 45%);
85
+ }
86
+ .disabled a,
87
+ .disabled a:hover {
88
+ background-color: transparent;
89
+ color: $grayLight;
90
+ }
91
+ .next a {
92
+ border: 0;
93
+ }
94
+ }
95
+
96
+ /* main page table links */
97
+ .event-group-list {
98
+ margin-top: 1em;
99
+
100
+ td {
101
+ padding:0;
102
+ }
103
+
104
+ a {
105
+ display:block;
106
+ padding:10px 10px 9px;
107
+
108
+ &:hover {
109
+ text-decoration:none;
110
+ }
111
+ }
112
+
113
+ tbody tr:hover {
114
+ background-color: lighten($blue, 45%);
115
+ }
116
+ }
117
+
118
+ .filter_selects label {
119
+ cursor: pointer;
120
+ }
121
+
122
+ /* events for event group */
123
+ .key {
124
+ font-weight:bold;
125
+ text-align:right;
126
+ }
127
+
128
+ ul.detail {
129
+ margin:0;
130
+
131
+ li {
132
+ list-style:none;
133
+ ul {
134
+ margin-left:20px;
135
+ }
136
+ }
137
+
138
+ .key {
139
+ font-weight:normal;
140
+ color:$blue;
141
+ }
142
+ }
@@ -10,10 +10,7 @@ class EventGroupsController < ApplicationController
10
10
  Whoops::EventGroup.where(:_id.in => Whoops::Event.where(:keywords => /#{params[:query]}/i).collect{|e| e.event_group_id}.uniq)
11
11
  end
12
12
 
13
- @event_groups = finder.desc(:last_recorded_at).paginate(
14
- :page => params[:page],
15
- :per_page => 20
16
- )
13
+ @event_groups = finder.desc(:last_recorded_at).page(params[:page]).per(10)
17
14
 
18
15
  respond_to do |format|
19
16
  format.html
@@ -26,7 +23,7 @@ class EventGroupsController < ApplicationController
26
23
  end
27
24
 
28
25
  def update_event_group_filter
29
- self.event_group_filter = params[:whoops_filter] if params[:whoops_filter]
26
+ self.event_group_filter = params[:whoops_filter] if params[:updating_filters]
30
27
  end
31
28
 
32
29
  def event_group_filter
@@ -34,7 +31,7 @@ class EventGroupsController < ApplicationController
34
31
  end
35
32
 
36
33
  def event_group_filter=(filter)
37
- session[:event_group_filter] = Whoops::Filter.new(filter)
34
+ session[:event_group_filter] = Whoops::Filter.new_from_params(filter)
38
35
  end
39
36
 
40
- end
37
+ end
@@ -10,10 +10,7 @@ class EventsController < ApplicationController
10
10
  events_base = events_base.where(conditions)
11
11
  end
12
12
 
13
- @events = events_base.desc(:event_time).paginate(
14
- :page => params[:page],
15
- :per_page => 20
16
- )
13
+ @events = events_base.desc(:event_time).page(params[:page]).per(20)
17
14
  end
18
15
 
19
16
  def show
@@ -11,12 +11,12 @@ module EventGroupsHelper
11
11
 
12
12
  @filter_options = Hash.new{|h, k| h[k] = []}
13
13
 
14
- @filter_options["service"] = Whoops::EventGroup.services.collect{|s| [s, s]}
14
+ @filter_options["service"] = Whoops::EventGroup.services.to_a
15
15
 
16
16
  all_event_groups.each do |event_group|
17
17
  mundane_fields = (Whoops::Filter.field_names & Whoops::EventGroup.field_names) - ["service", "message"]
18
18
  mundane_fields.each do |field_name|
19
- @filter_options[field_name] << [event_group.send(field_name), event_group.send(field_name)]
19
+ @filter_options[field_name] << event_group.send(field_name)
20
20
  end
21
21
  end
22
22
 
@@ -24,9 +24,13 @@ module EventGroupsHelper
24
24
  @filter_options.keys.each do |field_name|
25
25
  @filter_options[field_name].compact!
26
26
  @filter_options[field_name].sort!{|a, b| a.first <=> b.first}.uniq! if @filter_options[field_name]
27
- @filter_options[field_name].unshift(["", "--" + field_name.humanize.downcase + " filter--"])
28
27
  end
29
28
 
30
29
  @filter_options
31
30
  end
31
+
32
+ def filter_checked?(field_name, option)
33
+ filtered_field = session[:event_group_filter].send(field_name)
34
+ filtered_field && filtered_field.include?(option)
35
+ end
32
36
  end