twistage_stats_reports 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: