mongodb_logger 0.2.4 → 0.2.5

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## v0.2.5
2
+
3
+ * Build graphs for analytics page
4
+ * Fix month for analytics
5
+
1
6
  ## v0.2.4
2
7
 
3
8
  * Move on logs list by using arrows on keybords
data/README.md CHANGED
@@ -189,4 +189,4 @@ It:
189
189
 
190
190
 
191
191
 
192
- Copyright (c) 2009-2011 Phil Burrows, CustomInk (based on https://github.com/customink/central_logger) and Leopard released under the MIT license
192
+ Copyright (c) 2009-2012 Phil Burrows, CustomInk (based on https://github.com/customink/central_logger) and Leopard released under the MIT license
@@ -1,18 +1,19 @@
1
- $ ->
2
- MongodbLoggerMain.init()
1
+ root = global ? window
3
2
 
4
- window.MongodbLoggerMain =
3
+ root.MongodbLoggerMain =
5
4
  tail_logs_url: null
6
5
  tail_log_started: false
7
6
  log_info_offset: null
8
7
  log_info_padding: 15
8
+ is_charts_ready: false
9
9
 
10
10
  init: ->
11
+ # spinner
11
12
  $(document).ajaxStart =>
12
13
  $('#ajax_loader').show()
13
14
  $(document).ajaxStop =>
14
15
  $('#ajax_loader').hide()
15
-
16
+ # tail logs buttons
16
17
  $(document).on 'click', '#tail_logs_link', (event) =>
17
18
  MongodbLoggerMain.tail_logs_url = $(event.target).attr('data-url')
18
19
  $('#tail_logs_block').addClass('started')
@@ -22,7 +23,7 @@ window.MongodbLoggerMain =
22
23
  MongodbLoggerMain.tail_log_started = false
23
24
  $('#tail_logs_block').removeClass('started')
24
25
  return false
25
-
26
+ # log info click
26
27
  $(document).on 'click', '.log_info', (event) =>
27
28
  elm_obj = $(event.target)
28
29
  url = elm_obj.data('url')
@@ -36,7 +37,6 @@ window.MongodbLoggerMain =
36
37
  $(document).on 'click', 'div.filter-toggle', (event) =>
37
38
  $('div.filter').slideToggle()
38
39
  $('div.filter-toggle span.arrow-down').toggleClass('rotate')
39
-
40
40
  # additional filters
41
41
  $(document).on 'click', '#add_more_filter', (event) =>
42
42
  url = $(event.target).attr('href')
@@ -46,7 +46,7 @@ window.MongodbLoggerMain =
46
46
  content = $('<li></li>').html(data)
47
47
  $('#more_filter_list').append(content)
48
48
  return false
49
-
49
+ # select filter types (integer, string, date)
50
50
  $(document).on 'change', 'select.filter_type', (event) =>
51
51
  elm_object = $(event.target)
52
52
  url = elm_object.attr('rel') + "/" + elm_object.val()
@@ -74,11 +74,10 @@ window.MongodbLoggerMain =
74
74
  changeYear: true
75
75
  yearRange: 'c-50:c+10'
76
76
  return false
77
-
77
+ # delete one filter
78
78
  $(document).on 'click', '.close_more_filter', (event) =>
79
79
  $(event.target).parents('li').remove()
80
80
  return false
81
-
82
81
  # message tabs
83
82
  $(document).on 'click', 'li.message_tab', (event) =>
84
83
  elm_obj = $(event.target)
@@ -88,16 +87,20 @@ window.MongodbLoggerMain =
88
87
  $('pre.tab_content').addClass('hidden')
89
88
  elm_obj.addClass('active')
90
89
  $('.' + tab).removeClass('hidden')
91
-
92
90
  # analytic form
93
91
  $(document).on 'submit', '#analyticForm', (event) =>
94
92
  element = $('#analyticForm')
95
93
  url = element.attr('action')
96
94
  data = element.serializeArray()
97
- $('#analyticData').load url, data
95
+ $.ajax
96
+ url: url
97
+ dataType: 'json'
98
+ data: data
99
+ type: "POST"
100
+ success: (data, textStatus, jqXHR) =>
101
+ MongodbLoggerMain.build_analytic_charts(data)
98
102
  return false
99
-
100
- # keydown log
103
+ # keydown by logs
101
104
  $(document).on 'keydown', '*', (event) =>
102
105
  console.log event.keyCode
103
106
  switch event.keyCode
@@ -115,6 +118,7 @@ window.MongodbLoggerMain =
115
118
  this.init_on_pages()
116
119
 
117
120
  init_pjax: ->
121
+ # pjax
118
122
  $('a[data-pjax]').pjax()
119
123
  $('body').bind 'pjax:start', () =>
120
124
  $('#ajax_loader').show()
@@ -127,18 +131,17 @@ window.MongodbLoggerMain =
127
131
  $('html, body').stop().animate({ scrollTop: 0 }, 'slow')
128
132
  # init pages
129
133
  MongodbLoggerMain.init_on_pages()
130
-
134
+ # init this on pjax
131
135
  init_on_pages: ->
132
136
  # code highlight
133
137
  $('pre code').each (i, e) ->
134
138
  hljs.highlightBlock(e, ' ')
135
-
139
+ # callendars
136
140
  $( ".datepicker, .filter_values input.date" ).datepicker
137
141
  dateFormat: "yy-mm-dd"
138
142
  changeMonth: true
139
143
  changeYear: true
140
144
  yearRange: 'c-50:c+10'
141
-
142
145
  # log info window
143
146
  if $("#log_info").length > 0
144
147
  MongodbLoggerMain.log_info_offset = $("#log_info").offset()
@@ -149,7 +152,7 @@ window.MongodbLoggerMain =
149
152
  else
150
153
  $("#log_info").stop().animate
151
154
  marginTop: 0
152
-
155
+ # tail logs function
153
156
  tail_logs: (log_last_id) ->
154
157
  url = MongodbLoggerMain.tail_logs_url
155
158
  if log_last_id? && log_last_id.length > 0
@@ -175,7 +178,7 @@ window.MongodbLoggerMain =
175
178
  if MongodbLoggerMain.tail_log_started
176
179
  fcallback = -> MongodbLoggerMain.tail_logs(log_last_id)
177
180
  setTimeout fcallback, 2000
178
-
181
+ # move using keys by logs
179
182
  move_by_logs: (direction) ->
180
183
  if $('#logs_list').length > 0 && $('#logs_list').find('tr.current').length > 0
181
184
  current_element = $('#logs_list').find('tr.current')
@@ -210,10 +213,38 @@ window.MongodbLoggerMain =
210
213
  else
211
214
  $(window).scrollTop(element.height() + element.offset().top - 100)
212
215
  return false
213
-
216
+ # check in selected element is visible for user
214
217
  is_scrolled_into_view: (elem) ->
215
218
  docViewTop = $(window).scrollTop()
216
219
  docViewBottom = docViewTop + $(window).height()
217
220
  elemTop = $(elem).offset().top
218
221
  elemBottom = elemTop + $(elem).height()
219
- return ((docViewTop < elemTop) && (docViewBottom > elemBottom))
222
+ return ((docViewTop < elemTop) && (docViewBottom > elemBottom))
223
+ # charts ready for usage
224
+ init_analytic_charts: ->
225
+ MongodbLoggerMain.is_charts_ready = true
226
+ # build charts
227
+ build_analytic_charts: (data) ->
228
+ if MongodbLoggerMain.is_charts_ready is true
229
+ if data.data?
230
+ data_table = new google.visualization.DataTable()
231
+ data_table.addColumn('date', 'Date')
232
+ data_table.addColumn('number', 'Requests')
233
+ temp_data = []
234
+ for row in data.data
235
+ temp_data.push([new Date(row['_id'].year, row['_id'].month - 1, row['_id'].day), row.value.count])
236
+
237
+ data_table.addRows(temp_data)
238
+ chart = new google.visualization.LineChart(document.getElementById('analyticData'))
239
+ options =
240
+ title: $('#analytic_type option:selected').text()
241
+ width: '100%'
242
+ height: 600
243
+ vAxis:
244
+ title: $('#analytic_type option:selected').text()
245
+ chart.draw(data_table, options)
246
+ else
247
+ alert "Error of loading Google Charts. Sorry :("
248
+
249
+ $ ->
250
+ MongodbLoggerMain.init()
@@ -45,7 +45,7 @@ module MongodbLogger
45
45
 
46
46
  def count_of_requests(conditions, is_errors = false)
47
47
  collection_name = "mongodb_logger_count_of_requests"
48
- map = "function() { var key = {year: this.request_time.getFullYear(), month: this.request_time.getMonth(), day: this.request_time.getDate()}; emit(key, {count: 1});}"
48
+ map = "function() { var key = {year: this.request_time.getFullYear(), month: this.request_time.getMonth() + 1, day: this.request_time.getDate()}; emit(key, {count: 1});}"
49
49
  reduce_count = "function(key, values) { var sum = 0; values.forEach(function(f) { sum += f.count; }); return {count: sum};}"
50
50
  if is_errors
51
51
  collection_name = "mongodb_logger_count_of_errors"
@@ -1 +1 @@
1
- $(function(){return MongodbLoggerMain.init()}),window.MongodbLoggerMain={tail_logs_url:null,tail_log_started:!1,log_info_offset:null,log_info_padding:15,init:function(){var a=this;return $(document).ajaxStart(function(){return $("#ajax_loader").show()}),$(document).ajaxStop(function(){return $("#ajax_loader").hide()}),$(document).on("click","#tail_logs_link",function(a){return MongodbLoggerMain.tail_logs_url=$(a.target).attr("data-url"),$("#tail_logs_block").addClass("started"),MongodbLoggerMain.tail_logs(null),!1}),$(document).on("click","#tail_logs_stop_link",function(a){return MongodbLoggerMain.tail_log_started=!1,$("#tail_logs_block").removeClass("started"),!1}),$(document).on("click",".log_info",function(a){var b,c;return b=$(a.target),c=b.data("url"),c==null&&(c=b.parent("tr").data("url")),c!=null&&(b.parents("table").find("tr").removeClass("current"),b.parent("tr").addClass("current"),$("#log_info").load(c)),!1}),$(document).on("click","div.filter-toggle",function(a){return $("div.filter").slideToggle(),$("div.filter-toggle span.arrow-down").toggleClass("rotate")}),$(document).on("click","#add_more_filter",function(a){var b;return b=$(a.target).attr("href"),$.ajax({url:b,success:function(a){var b;return b=$("<li></li>").html(a),$("#more_filter_list").append(b)}}),!1}),$(document).on("change","select.filter_type",function(a){var b,c;return b=$(a.target),c=b.attr("rel")+"/"+b.val(),$.ajax({url:c,dataType:"json",success:function(a){var c,d,e=this;c="",d="",$.each(a.conditions,function(a,b){return c+='<option value="'+b+'">'+b+"</option>"}),b.parents("div.filter_block").find("select.filter_conditions").empty().append(c),a.values.length>0?(d='<select id="filter[more][]_value" name="filter[more][][value]">',$.each(a.values,function(a,b){return d+='<option value="'+b+'">'+b+"</option>"}),d+="</select>"):d='<input type="text" name="filter[more][][value]" value="" placeholder="value">',b.parents("div.filter_block").find("div.filter_values").html(d);if("date"===b.val())return b.parents("div.filter_block").find("div.filter_values input").datepicker({dateFormat:"yy-mm-dd",changeMonth:!0,changeYear:!0,yearRange:"c-50:c+10"})}}),!1}),$(document).on("click",".close_more_filter",function(a){return $(a.target).parents("li").remove(),!1}),$(document).on("click","li.message_tab",function(a){var b,c;b=$(a.target),c=b.attr("data-tab");if(c!=null)return $("li.message_tab").removeClass("active"),$("pre.tab_content").addClass("hidden"),b.addClass("active"),$("."+c).removeClass("hidden")}),$(document).on("submit","#analyticForm",function(a){var b,c,d;return c=$("#analyticForm"),d=c.attr("action"),b=c.serializeArray(),$("#analyticData").load(d,b),!1}),$(document).on("keydown","*",function(a){console.log(a.keyCode);switch(a.keyCode){case 37:return MongodbLoggerMain.move_by_logs("begin");case 38:return MongodbLoggerMain.move_by_logs("up");case 39:return MongodbLoggerMain.move_by_logs("end");case 40:return MongodbLoggerMain.move_by_logs("down")}}),this.init_pjax(),this.init_on_pages()},init_pjax:function(){var a=this;return $("a[data-pjax]").pjax(),$("body").bind("pjax:start",function(){return $("#ajax_loader").show()}),$("body").bind("pjax:end",function(){return $("#ajax_loader").hide(),MongodbLoggerMain.tail_log_started=!1,$(window).scrollTop()>100&&$("html, body").stop().animate({scrollTop:0},"slow"),MongodbLoggerMain.init_on_pages()})},init_on_pages:function(){var a=this;$("pre code").each(function(a,b){return hljs.highlightBlock(b," ")}),$(".datepicker, .filter_values input.date").datepicker({dateFormat:"yy-mm-dd",changeMonth:!0,changeYear:!0,yearRange:"c-50:c+10"});if($("#log_info").length>0)return MongodbLoggerMain.log_info_offset=$("#log_info").offset(),$(window).scroll(function(){return $(window).scrollTop()>MongodbLoggerMain.log_info_offset.top?$("#log_info").stop().animate({marginTop:$(window).scrollTop()-MongodbLoggerMain.log_info_offset.top+MongodbLoggerMain.log_info_padding}):$("#log_info").stop().animate({marginTop:0})})},tail_logs:function(a){var b;b=MongodbLoggerMain.tail_logs_url,a!=null&&a.length>0?b=MongodbLoggerMain.tail_logs_url+"/"+a:(MongodbLoggerMain.tail_log_started=!0,a="");if(MongodbLoggerMain.tail_log_started)return $.ajax({url:b,dataType:"json",success:function(b){var c,d;b.time&&($("#tail_logs_time").text(b.time),b.log_last_id!=null&&(a=b.log_last_id),b.content!=null&&b.content.length>0&&(c=$(b.content),c.addClass("newlog"),$("#logs_list tr:first").after(c).effect("highlight",{},1e3)),b.collection_stats&&$("#collection_stats").length>0&&$("#collection_stats").html(b.collection_stats));if(MongodbLoggerMain.tail_log_started)return d=function(){return MongodbLoggerMain.tail_logs(a)},setTimeout(d,2e3)}})},move_by_logs:function(a){var b,c;if($("#logs_list").length>0&&$("#logs_list").find("tr.current").length>0){b=$("#logs_list").find("tr.current");switch(a){case"begin":c=$("#logs_list tr:first").next("tr");if(c.length>0)return c.find("td:first").trigger("click"),$(window).scrollTop(c.height()+c.offset().top-100),!1;break;case"end":c=$("#logs_list tr:last");if(c.length>0)return c.find("td:first").trigger("click"),$(window).scrollTop(c.height()+c.offset().top-100),!1;break;case"down":c=b.next("tr");if(c.length>0)return c.find("td:first").trigger("click"),MongodbLoggerMain.is_scrolled_into_view(c)?$(window).scrollTop($(window).scrollTop()+c.height()):$(window).scrollTop(c.height()+c.offset().top-100),!1;break;case"up":c=b.prev("tr");if(c.length>0)return c.find("td:first").trigger("click"),MongodbLoggerMain.is_scrolled_into_view(c)?$(window).scrollTop($(window).scrollTop()-c.height()):$(window).scrollTop(c.height()+c.offset().top-100),!1}}},is_scrolled_into_view:function(a){var b,c,d,e;return c=$(window).scrollTop(),b=c+$(window).height(),e=$(a).offset().top,d=e+$(a).height(),c<e&&b>d}}
1
+ ((function(){var a;a=typeof global!="undefined"&&global!==null?global:window,a.MongodbLoggerMain={tail_logs_url:null,tail_log_started:!1,log_info_offset:null,log_info_padding:15,is_charts_ready:!1,init:function(){var a=this;return $(document).ajaxStart(function(){return $("#ajax_loader").show()}),$(document).ajaxStop(function(){return $("#ajax_loader").hide()}),$(document).on("click","#tail_logs_link",function(a){return MongodbLoggerMain.tail_logs_url=$(a.target).attr("data-url"),$("#tail_logs_block").addClass("started"),MongodbLoggerMain.tail_logs(null),!1}),$(document).on("click","#tail_logs_stop_link",function(a){return MongodbLoggerMain.tail_log_started=!1,$("#tail_logs_block").removeClass("started"),!1}),$(document).on("click",".log_info",function(a){var b,c;return b=$(a.target),c=b.data("url"),c==null&&(c=b.parent("tr").data("url")),c!=null&&(b.parents("table").find("tr").removeClass("current"),b.parent("tr").addClass("current"),$("#log_info").load(c)),!1}),$(document).on("click","div.filter-toggle",function(a){return $("div.filter").slideToggle(),$("div.filter-toggle span.arrow-down").toggleClass("rotate")}),$(document).on("click","#add_more_filter",function(a){var b;return b=$(a.target).attr("href"),$.ajax({url:b,success:function(a){var b;return b=$("<li></li>").html(a),$("#more_filter_list").append(b)}}),!1}),$(document).on("change","select.filter_type",function(a){var b,c;return b=$(a.target),c=b.attr("rel")+"/"+b.val(),$.ajax({url:c,dataType:"json",success:function(a){var c,d,e=this;c="",d="",$.each(a.conditions,function(a,b){return c+='<option value="'+b+'">'+b+"</option>"}),b.parents("div.filter_block").find("select.filter_conditions").empty().append(c),a.values.length>0?(d='<select id="filter[more][]_value" name="filter[more][][value]">',$.each(a.values,function(a,b){return d+='<option value="'+b+'">'+b+"</option>"}),d+="</select>"):d='<input type="text" name="filter[more][][value]" value="" placeholder="value">',b.parents("div.filter_block").find("div.filter_values").html(d);if("date"===b.val())return b.parents("div.filter_block").find("div.filter_values input").datepicker({dateFormat:"yy-mm-dd",changeMonth:!0,changeYear:!0,yearRange:"c-50:c+10"})}}),!1}),$(document).on("click",".close_more_filter",function(a){return $(a.target).parents("li").remove(),!1}),$(document).on("click","li.message_tab",function(a){var b,c;b=$(a.target),c=b.attr("data-tab");if(c!=null)return $("li.message_tab").removeClass("active"),$("pre.tab_content").addClass("hidden"),b.addClass("active"),$("."+c).removeClass("hidden")}),$(document).on("submit","#analyticForm",function(a){var b,c,d;return c=$("#analyticForm"),d=c.attr("action"),b=c.serializeArray(),$.ajax({url:d,dataType:"json",data:b,type:"POST",success:function(a,b,c){return MongodbLoggerMain.build_analytic_charts(a)}}),!1}),$(document).on("keydown","*",function(a){console.log(a.keyCode);switch(a.keyCode){case 37:return MongodbLoggerMain.move_by_logs("begin");case 38:return MongodbLoggerMain.move_by_logs("up");case 39:return MongodbLoggerMain.move_by_logs("end");case 40:return MongodbLoggerMain.move_by_logs("down")}}),this.init_pjax(),this.init_on_pages()},init_pjax:function(){var a=this;return $("a[data-pjax]").pjax(),$("body").bind("pjax:start",function(){return $("#ajax_loader").show()}),$("body").bind("pjax:end",function(){return $("#ajax_loader").hide(),MongodbLoggerMain.tail_log_started=!1,$(window).scrollTop()>100&&$("html, body").stop().animate({scrollTop:0},"slow"),MongodbLoggerMain.init_on_pages()})},init_on_pages:function(){var a=this;$("pre code").each(function(a,b){return hljs.highlightBlock(b," ")}),$(".datepicker, .filter_values input.date").datepicker({dateFormat:"yy-mm-dd",changeMonth:!0,changeYear:!0,yearRange:"c-50:c+10"});if($("#log_info").length>0)return MongodbLoggerMain.log_info_offset=$("#log_info").offset(),$(window).scroll(function(){return $(window).scrollTop()>MongodbLoggerMain.log_info_offset.top?$("#log_info").stop().animate({marginTop:$(window).scrollTop()-MongodbLoggerMain.log_info_offset.top+MongodbLoggerMain.log_info_padding}):$("#log_info").stop().animate({marginTop:0})})},tail_logs:function(a){var b;b=MongodbLoggerMain.tail_logs_url,a!=null&&a.length>0?b=MongodbLoggerMain.tail_logs_url+"/"+a:(MongodbLoggerMain.tail_log_started=!0,a="");if(MongodbLoggerMain.tail_log_started)return $.ajax({url:b,dataType:"json",success:function(b){var c,d;b.time&&($("#tail_logs_time").text(b.time),b.log_last_id!=null&&(a=b.log_last_id),b.content!=null&&b.content.length>0&&(c=$(b.content),c.addClass("newlog"),$("#logs_list tr:first").after(c).effect("highlight",{},1e3)),b.collection_stats&&$("#collection_stats").length>0&&$("#collection_stats").html(b.collection_stats));if(MongodbLoggerMain.tail_log_started)return d=function(){return MongodbLoggerMain.tail_logs(a)},setTimeout(d,2e3)}})},move_by_logs:function(a){var b,c;if($("#logs_list").length>0&&$("#logs_list").find("tr.current").length>0){b=$("#logs_list").find("tr.current");switch(a){case"begin":c=$("#logs_list tr:first").next("tr");if(c.length>0)return c.find("td:first").trigger("click"),$(window).scrollTop(c.height()+c.offset().top-100),!1;break;case"end":c=$("#logs_list tr:last");if(c.length>0)return c.find("td:first").trigger("click"),$(window).scrollTop(c.height()+c.offset().top-100),!1;break;case"down":c=b.next("tr");if(c.length>0)return c.find("td:first").trigger("click"),MongodbLoggerMain.is_scrolled_into_view(c)?$(window).scrollTop($(window).scrollTop()+c.height()):$(window).scrollTop(c.height()+c.offset().top-100),!1;break;case"up":c=b.prev("tr");if(c.length>0)return c.find("td:first").trigger("click"),MongodbLoggerMain.is_scrolled_into_view(c)?$(window).scrollTop($(window).scrollTop()-c.height()):$(window).scrollTop(c.height()+c.offset().top-100),!1}}},is_scrolled_into_view:function(a){var b,c,d,e;return c=$(window).scrollTop(),b=c+$(window).height(),e=$(a).offset().top,d=e+$(a).height(),c<e&&b>d},init_analytic_charts:function(){return MongodbLoggerMain.is_charts_ready=!0},build_analytic_charts:function(a){var b,c,d,e,f,g,h,i;if(MongodbLoggerMain.is_charts_ready!==!0)return alert("Error of loading Google Charts. Sorry :(");if(a.data!=null){c=new google.visualization.DataTable,c.addColumn("date","Date"),c.addColumn("number","Requests"),f=[],i=a.data;for(g=0,h=i.length;g<h;g++)e=i[g],f.push([new Date(e._id.year,e._id.month-1,e._id.day),e.value.count]);return c.addRows(f),b=new google.visualization.LineChart(document.getElementById("analyticData")),d={title:$("#analytic_type option:selected").text(),width:"100%",height:600,vAxis:{title:$("#analytic_type option:selected").text()}},b.draw(c,d)}}},$(function(){return MongodbLoggerMain.init()})})).call(this)
@@ -325,3 +325,6 @@ a.more {
325
325
  font-weight: bold;
326
326
  }
327
327
 
328
+ #analyticData {
329
+ text-align: center;
330
+ }
@@ -36,5 +36,12 @@
36
36
  <script src="<%=u 'javascripts/vendors/highlight.pack.js' %>" type="text/javascript"></script>
37
37
  <script src="<%=u 'javascripts/logs.js' %>" type="text/javascript"></script>
38
38
 
39
+ <!-- charts -->
40
+ <script type="text/javascript" src="https://www.google.com/jsapi"></script>
41
+ <script type="text/javascript">
42
+ google.load('visualization', '1', {'packages':['corechart']});
43
+ google.setOnLoadCallback(MongodbLoggerMain.init_analytic_charts);
44
+ </script>
45
+
39
46
  </body>
40
47
  </html>
@@ -161,7 +161,8 @@ module MongodbLogger
161
161
  post "/#{page}/?" do
162
162
  @analytic = ServerModel::Analytic.new(@collection, params[:analytic])
163
163
  @analytic_data = @analytic.get_data
164
- partial(:"shared/analytic_table", :object => @analytic_data)
164
+ content_type :json
165
+ @analytic_data.to_json
165
166
  end
166
167
  end
167
168
 
@@ -1,3 +1,3 @@
1
1
  module MongodbLogger
2
- VERSION = "0.2.4"
2
+ VERSION = "0.2.5"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongodb_logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-12-20 00:00:00.000000000 Z
12
+ date: 2012-01-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: jasmine
16
- requirement: &70120329105120 !ruby/object:Gem::Requirement
16
+ requirement: &70323454612280 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 1.0.0
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70120329105120
24
+ version_requirements: *70323454612280
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &70120329104620 !ruby/object:Gem::Requirement
27
+ requirement: &70323454611780 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 2.7.0
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70120329104620
35
+ version_requirements: *70323454611780
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: shoulda
38
- requirement: &70120329104160 !ruby/object:Gem::Requirement
38
+ requirement: &70323454611320 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 2.0.0
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70120329104160
46
+ version_requirements: *70323454611320
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: mocha
49
- requirement: &70120329103700 !ruby/object:Gem::Requirement
49
+ requirement: &70323454610860 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 0.10.0
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70120329103700
57
+ version_requirements: *70323454610860
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: cucumber
60
- requirement: &70120328557240 !ruby/object:Gem::Requirement
60
+ requirement: &70323450561220 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 1.1.2
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70120328557240
68
+ version_requirements: *70323450561220
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: capybara
71
- requirement: &70120328549720 !ruby/object:Gem::Requirement
71
+ requirement: &70323450559940 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 1.1.2
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70120328549720
79
+ version_requirements: *70323450559940
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: coffee-script
82
- requirement: &70120329142340 !ruby/object:Gem::Requirement
82
+ requirement: &70323454647460 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ~>
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: 2.2.0
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *70120329142340
90
+ version_requirements: *70323454647460
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: uglifier
93
- requirement: &70120329141880 !ruby/object:Gem::Requirement
93
+ requirement: &70323454647000 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: 1.2.0
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *70120329141880
101
+ version_requirements: *70323454647000
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: therubyracer
104
- requirement: &70120329141420 !ruby/object:Gem::Requirement
104
+ requirement: &70323454646540 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: 0.9.9
110
110
  type: :development
111
111
  prerelease: false
112
- version_requirements: *70120329141420
112
+ version_requirements: *70323454646540
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: rake
115
- requirement: &70120329140960 !ruby/object:Gem::Requirement
115
+ requirement: &70323454646080 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ~>
@@ -120,10 +120,10 @@ dependencies:
120
120
  version: 0.9.0
121
121
  type: :runtime
122
122
  prerelease: false
123
- version_requirements: *70120329140960
123
+ version_requirements: *70323454646080
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: mongo
126
- requirement: &70120329140500 !ruby/object:Gem::Requirement
126
+ requirement: &70323454645620 !ruby/object:Gem::Requirement
127
127
  none: false
128
128
  requirements:
129
129
  - - ~>
@@ -131,10 +131,10 @@ dependencies:
131
131
  version: 1.5.2
132
132
  type: :runtime
133
133
  prerelease: false
134
- version_requirements: *70120329140500
134
+ version_requirements: *70323454645620
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: bson_ext
137
- requirement: &70120329140040 !ruby/object:Gem::Requirement
137
+ requirement: &70323454645160 !ruby/object:Gem::Requirement
138
138
  none: false
139
139
  requirements:
140
140
  - - ~>
@@ -142,10 +142,10 @@ dependencies:
142
142
  version: 1.5.2
143
143
  type: :runtime
144
144
  prerelease: false
145
- version_requirements: *70120329140040
145
+ version_requirements: *70323454645160
146
146
  - !ruby/object:Gem::Dependency
147
147
  name: i18n
148
- requirement: &70120329139580 !ruby/object:Gem::Requirement
148
+ requirement: &70323454644700 !ruby/object:Gem::Requirement
149
149
  none: false
150
150
  requirements:
151
151
  - - ! '>='
@@ -153,10 +153,10 @@ dependencies:
153
153
  version: 0.4.1
154
154
  type: :runtime
155
155
  prerelease: false
156
- version_requirements: *70120329139580
156
+ version_requirements: *70323454644700
157
157
  - !ruby/object:Gem::Dependency
158
158
  name: json
159
- requirement: &70120329139120 !ruby/object:Gem::Requirement
159
+ requirement: &70323454644240 !ruby/object:Gem::Requirement
160
160
  none: false
161
161
  requirements:
162
162
  - - ~>
@@ -164,10 +164,10 @@ dependencies:
164
164
  version: 1.6.1
165
165
  type: :runtime
166
166
  prerelease: false
167
- version_requirements: *70120329139120
167
+ version_requirements: *70323454644240
168
168
  - !ruby/object:Gem::Dependency
169
169
  name: activesupport
170
- requirement: &70120329138660 !ruby/object:Gem::Requirement
170
+ requirement: &70323454643780 !ruby/object:Gem::Requirement
171
171
  none: false
172
172
  requirements:
173
173
  - - ! '>='
@@ -175,10 +175,10 @@ dependencies:
175
175
  version: 3.0.0
176
176
  type: :runtime
177
177
  prerelease: false
178
- version_requirements: *70120329138660
178
+ version_requirements: *70323454643780
179
179
  - !ruby/object:Gem::Dependency
180
180
  name: actionpack
181
- requirement: &70120329138200 !ruby/object:Gem::Requirement
181
+ requirement: &70323454643320 !ruby/object:Gem::Requirement
182
182
  none: false
183
183
  requirements:
184
184
  - - ! '>='
@@ -186,10 +186,10 @@ dependencies:
186
186
  version: 3.0.0
187
187
  type: :runtime
188
188
  prerelease: false
189
- version_requirements: *70120329138200
189
+ version_requirements: *70323454643320
190
190
  - !ruby/object:Gem::Dependency
191
191
  name: sinatra
192
- requirement: &70120329137740 !ruby/object:Gem::Requirement
192
+ requirement: &70323454642860 !ruby/object:Gem::Requirement
193
193
  none: false
194
194
  requirements:
195
195
  - - ! '>='
@@ -197,10 +197,10 @@ dependencies:
197
197
  version: 1.2.0
198
198
  type: :runtime
199
199
  prerelease: false
200
- version_requirements: *70120329137740
200
+ version_requirements: *70323454642860
201
201
  - !ruby/object:Gem::Dependency
202
202
  name: erubis
203
- requirement: &70120329137280 !ruby/object:Gem::Requirement
203
+ requirement: &70323454642400 !ruby/object:Gem::Requirement
204
204
  none: false
205
205
  requirements:
206
206
  - - ! '>='
@@ -208,10 +208,10 @@ dependencies:
208
208
  version: 2.6.6
209
209
  type: :runtime
210
210
  prerelease: false
211
- version_requirements: *70120329137280
211
+ version_requirements: *70323454642400
212
212
  - !ruby/object:Gem::Dependency
213
213
  name: vegas
214
- requirement: &70120329136820 !ruby/object:Gem::Requirement
214
+ requirement: &70323454641940 !ruby/object:Gem::Requirement
215
215
  none: false
216
216
  requirements:
217
217
  - - ~>
@@ -219,7 +219,7 @@ dependencies:
219
219
  version: 0.1.2
220
220
  type: :runtime
221
221
  prerelease: false
222
- version_requirements: *70120329136820
222
+ version_requirements: *70323454641940
223
223
  description: MongoDB logger for Rails 3
224
224
  email:
225
225
  - leopard.not.a@gmail.com
@@ -311,7 +311,6 @@ files:
311
311
  - lib/mongodb_logger/server/views/error.erb
312
312
  - lib/mongodb_logger/server/views/layout.erb
313
313
  - lib/mongodb_logger/server/views/overview.erb
314
- - lib/mongodb_logger/server/views/shared/_analytic_table.erb
315
314
  - lib/mongodb_logger/server/views/shared/_collection_stats.erb
316
315
  - lib/mongodb_logger/server/views/shared/_dynamic_filter.erb
317
316
  - lib/mongodb_logger/server/views/shared/_log.erb
@@ -1,24 +0,0 @@
1
- <% if analytic_table[:data].count > 0 %>
2
- <table>
3
- <tr>
4
- <% analytic_table[:headers][:key].each do |header| %>
5
- <th><%=h header%></th>
6
- <% end %>
7
- <% analytic_table[:headers][:value].each do |header| %>
8
- <th><%=h header%></th>
9
- <% end %>
10
- </tr>
11
- <% analytic_table[:data].each do |analytic_data| %>
12
- <tr>
13
- <% analytic_table[:headers][:key].each do |header| %>
14
- <td><%=h analytic_data['_id'][header].try(:to_i) %></td>
15
- <% end %>
16
- <% analytic_table[:headers][:value].each do |header| %>
17
- <td><%=h analytic_data['value'][header].try(:to_i) %></td>
18
- <% end %>
19
- </tr>
20
- <% end %>
21
- </table>
22
- <% else %>
23
- <div class="pale pal txtC">No data found, try another filter</div>
24
- <% end %>