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 +7 -0
- data/lib/stats/disk_usage_report.rb +15 -7
- data/lib/stats/report.rb +9 -5
- metadata +9 -10
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 =~
|
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 =~
|
59
|
+
xml.average_objects @average_objects if @group =~ TIME_BASED_GROUPS
|
52
60
|
end
|
53
61
|
end
|
54
62
|
|
55
|
-
def
|
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 =~
|
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 =~
|
71
|
+
report['average_objects'] = @average_objects if @group =~ TIME_BASED_GROUPS
|
64
72
|
|
65
|
-
report
|
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
|
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.
|
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:
|
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:
|
50
|
+
rubygems_version: 2.2.2
|
53
51
|
signing_key:
|
54
|
-
specification_version:
|
52
|
+
specification_version: 4
|
55
53
|
summary: Twistage Stats Reports
|
56
54
|
test_files: []
|
55
|
+
has_rdoc:
|