twistage_stats_reports 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: d737cd560150a778ae87a2f04098d1ab505c6435
4
+ data.tar.gz: 07cec7ffd48ffaa9d28dcb21606d1dd3f687672c
5
+ SHA512:
6
+ metadata.gz: 830a3a72c02f4d04c2824d35721e18124a1854cf53141c8e032c5d95dd2abf96dce04430a927d3f3bb2a3ad8799a5b4c377db9a2bffd456ea8726c1f49b44777
7
+ data.tar.gz: eacbe0673e88cc27af1f7f58f0feabcd052808aa766126e9e1b833575d860215bb18c2fd8dc35cafddcdb6db8ea983b3e639d1da7c7873ad4d8255ef049abfbe
@@ -4,6 +4,8 @@ class Stats::DiskUsageReport < Stats::EventReport
4
4
  set_attributes [ :id, :obj_id, :group, :name, :nickname, :title, :label, :name, :query_time, :start_date, :end_date ]
5
5
  set_numeric_attributes [ :actual_bytes, :actual_average_bytes, :bytes, :average_bytes, :objects, :average_objects ]
6
6
 
7
+ TIME_BASED_GROUPS = /daily|weekly|monthly/
8
+
7
9
  def initialize(options = {})
8
10
  @label = "stats" # video unless date
9
11
  @obj_id = options[:obj_id ] unless options[:obj_id ].blank?
@@ -30,8 +32,14 @@ class Stats::DiskUsageReport < Stats::EventReport
30
32
  keys += [ :start_date, :end_date, :actual_bytes, :actual_average_bytes, :objects, :average_objects ]
31
33
  end
32
34
 
35
+ def the_csv_keys
36
+ arr = self.class.csv_keys
37
+ arr = strip_keys_by_label(arr, @label)
38
+ arr -= [ :actual_average_bytes, :average_objects ] if @group !~ TIME_BASED_GROUPS
39
+ arr
40
+ end
41
+
33
42
  def to_csv(options = {})
34
- the_csv_keys = strip_keys_by_label(self.class.csv_keys, @label)
35
43
  the_csv_keys.map do |k|
36
44
  self.class.format_csv_value(send(k))
37
45
  end.join(',')
@@ -46,23 +54,23 @@ class Stats::DiskUsageReport < Stats::EventReport
46
54
  xml.start_date @start_date.strftime("%Y/%m/%d") unless @start_date.nil?
47
55
  xml.end_date @end_date.strftime("%Y/%m/%d") unless @end_date.nil?
48
56
  xml.bytes @actual_bytes
49
- xml.average_bytes @actual_average_bytes if @group =~ /daily|weekly|monthly/
57
+ xml.average_bytes @actual_average_bytes if @group =~ TIME_BASED_GROUPS
50
58
  xml.objects @objects
51
- xml.average_objects @average_objects if @group =~ /daily|weekly|monthly/
59
+ xml.average_objects @average_objects if @group =~ TIME_BASED_GROUPS
52
60
  end
53
61
  end
54
62
 
55
- def to_json(options = {})
63
+ def as_json(options = {})
56
64
  report = HashWithIndifferentAccess.new
57
65
  report['id'] = @nickname unless @nickname.nil?
58
66
  report['start_date'] = @start_date.strftime("%Y/%m/%d") unless @start_date.nil?
59
67
  report['end_date'] = @end_date.strftime("%Y/%m/%d") unless @end_date.nil?
60
68
  report['bytes'] = @actual_bytes
61
- report['average_bytes'] = @actual_average_bytes if @group =~ /daily|weekly|monthly/
69
+ report['average_bytes'] = @actual_average_bytes if @group =~ TIME_BASED_GROUPS
62
70
  report['objects'] = @objects
63
- report['average_objects'] = @average_objects if @group =~ /daily|weekly|monthly/
71
+ report['average_objects'] = @average_objects if @group =~ TIME_BASED_GROUPS
64
72
 
65
- report.to_json
73
+ report
66
74
  end
67
75
 
68
76
  def self.to_amcharts(reports, show_date, show_date_range, options = {})
data/lib/stats/report.rb CHANGED
@@ -25,17 +25,21 @@ class Stats::Report
25
25
  report_array.to_xml options.merge({:root => 'statistics-reports'})
26
26
  end
27
27
 
28
+ def the_csv_keys
29
+ arr = self.class.csv_labels
30
+ Stats::EventReport::SUPPRESSED_LABELS.each do |key, labels|
31
+ arr = strip_label(key, arr) if labels.include?(label)
32
+ end
33
+ arr.split(',')
34
+ end
35
+
28
36
  def self.array_to_csv(report_array, options = {})
29
37
  buf = ""
30
38
 
31
39
  unless report_array.first.nil?
32
40
  label = report_array.first.label
33
41
  new_options = options.merge( { :label => label } )
34
- the_csv_labels = options[:images] ? Stats::ImageReport.csv_labels : report_array[0].class.csv_labels
35
- Stats::EventReport::SUPPRESSED_LABELS.each do |key, labels|
36
- the_csv_labels = strip_label(key, the_csv_labels) if labels.include?(label)
37
- end
38
-
42
+ the_csv_labels = options[:images] ? Stats::ImageReport.csv_labels : report_array.first.the_csv_keys.join(',')
39
43
 
40
44
  buf << the_csv_labels + "\n" unless report_array.empty?
41
45
 
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: twistage_stats_reports
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
5
- prerelease:
4
+ version: 1.0.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - David Wegman
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-07-17 00:00:00.000000000 Z
11
+ date: 2015-05-11 00:00:00.000000000 Z
13
12
  dependencies: []
14
13
  description: Shared data structures and logic for interacting with the Twistage Stats
15
14
  service
@@ -18,7 +17,6 @@ executables: []
18
17
  extensions: []
19
18
  extra_rdoc_files: []
20
19
  files:
21
- - lib/twistage_stats_reports.rb
22
20
  - lib/stats/breakdown_report.rb
23
21
  - lib/stats/disk_usage_report.rb
24
22
  - lib/stats/event_report.rb
@@ -29,28 +27,29 @@ files:
29
27
  - lib/stats/report.rb
30
28
  - lib/stats/source_report.rb
31
29
  - lib/stats/tzinfo_extensions.rb
30
+ - lib/twistage_stats_reports.rb
32
31
  homepage: http://rubygems.org/gems/twistage_stats_reports
33
32
  licenses: []
33
+ metadata: {}
34
34
  post_install_message:
35
35
  rdoc_options: []
36
36
  require_paths:
37
37
  - lib
38
38
  required_ruby_version: !ruby/object:Gem::Requirement
39
- none: false
40
39
  requirements:
41
- - - ! '>='
40
+ - - ">="
42
41
  - !ruby/object:Gem::Version
43
42
  version: '0'
44
43
  required_rubygems_version: !ruby/object:Gem::Requirement
45
- none: false
46
44
  requirements:
47
- - - ! '>='
45
+ - - ">="
48
46
  - !ruby/object:Gem::Version
49
47
  version: '0'
50
48
  requirements: []
51
49
  rubyforge_project:
52
- rubygems_version: 1.8.11
50
+ rubygems_version: 2.2.2
53
51
  signing_key:
54
- specification_version: 3
52
+ specification_version: 4
55
53
  summary: Twistage Stats Reports
56
54
  test_files: []
55
+ has_rdoc: