queri 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (25) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +18 -0
  3. data/lib/queri/stats/call_distribution_by_day/answered_call_distribution_per_day.rb +28 -0
  4. data/lib/queri/stats/call_distribution_by_day/answered_call_wait_time_per_day.rb +28 -0
  5. data/lib/queri/stats/call_distribution_by_day/inclusive_service_level_agreement_per_day.rb +36 -0
  6. data/lib/queri/stats/call_distribution_by_day/queue_length_per_day.rb +29 -0
  7. data/lib/queri/stats/call_distribution_by_day/sales_per_day.rb +30 -0
  8. data/lib/queri/stats/call_distribution_by_day/schedule_adherence_per_day.rb +24 -0
  9. data/lib/queri/stats/call_distribution_by_day/traffic_analysis_by_period_per_day.rb +39 -0
  10. data/lib/queri/stats/call_distribution_by_day/unanswered_call_wait_time_per_day.rb +28 -0
  11. data/lib/queri/stats/call_distribution_by_day.rb +11 -0
  12. data/lib/queri/stats/unanswered_calls/all_calls.rb +2 -50
  13. data/lib/queri/stats/unanswered_calls/calls_fully_within_the_given_time_interval.rb +2 -51
  14. data/lib/queri/version.rb +1 -1
  15. data/spec/stats/call_distribution_by_day/answered_call_distribution_per_day_spec.rb +20 -0
  16. data/spec/stats/call_distribution_by_day/answered_call_wait_time_per_day_spec.rb +20 -0
  17. data/spec/stats/call_distribution_by_day/call_distribution_by_day_spec.rb +7 -0
  18. data/spec/stats/call_distribution_by_day/inclusive_service_level_agreement_per_day_spec.rb +20 -0
  19. data/spec/stats/call_distribution_by_day/queue_length_per_day_spec.rb +20 -0
  20. data/spec/stats/call_distribution_by_day/sales_per_day_spec.rb +20 -0
  21. data/spec/stats/call_distribution_by_day/schedule_adherence_per_day_spec.rb +20 -0
  22. data/spec/stats/call_distribution_by_day/traffic_analysis_by_period_per_day_spec.rb +20 -0
  23. data/spec/stats/call_distribution_by_day/unanswered_call_wait_time_per_day_spec.rb +20 -0
  24. data/spec/stats/unanswered_calls/all_calls_spec.rb +1 -1
  25. metadata +29 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cb616a6c90427ff7c15dc01e4561c0f818ba5864
4
- data.tar.gz: b48087e47fbfc68cd0099c8185af258dd98b2e66
3
+ metadata.gz: 553891ce756e39dd91f174f9dc9c912110d176c2
4
+ data.tar.gz: 396b6795ed23a54762e3e08908fba1d57bf022f4
5
5
  SHA512:
6
- metadata.gz: e18faa24b9b4b53c497bfb99649695cc3239820cfcae3bc827fb327a7df1c93d9a60ba5ed8ec17d2cddb4b9edf94c05c9c592752aae1d405bda2f62b10ea3f57
7
- data.tar.gz: 808db2b1aa8d157c03fc6bd8298ef2cca3bf8a76f6a06fbc02af71f966a47cf155a00a5e63924ff4ede0f834d45ad1c5e15c07618c3ab4d274f0715bd0ca87d9
6
+ metadata.gz: 089b9f30832189f5d0efbf8d0b530984874230fe39b4fc9bb123a32b62d04ea6d7ec1a7db41aa4f39e38041133d94cd08ae5c3a93326c3e0eaed353144ef84ef
7
+ data.tar.gz: d862a733683950091997c0731c86961b5ac009380be92413f4768950b46d6f52fcff3c65294340c2471c28f9f7ea2c9020aef80c1243b4f25e66363278ec2fd7
data/README.md CHANGED
@@ -63,6 +63,15 @@ Currently returns analyses from two methods: QM.stats and QM.realtime.
63
63
  * QueuePosition
64
64
  * ServiceLevelAgreement
65
65
  * Transfers
66
+ * CallDistributionByDay
67
+ * AnsweredCallDistributionPerDay
68
+ * AnsweredCallWaitTimePerDay
69
+ * InclusiveServiceLevelAgreementPerDay
70
+ * QueueLengthPerDay
71
+ * SalesPerDay
72
+ * ScheduleAdherencePerDay
73
+ * TrafficAnalysisByPeriodPerDay
74
+ * UnansweredCallWaitTimePerDay
66
75
  * DetailsOfAgentSessionsAndPauses
67
76
  * DetailOfAgentSessions
68
77
  * DetailOfAgentPauses
@@ -156,6 +165,15 @@ Composite aggregate reports return an Array of Hashes, each Hash corresponding t
156
165
  * QueuePosition
157
166
  * ServiceLevelAgreement
158
167
  * Transfers
168
+ * CallDistributionByDay
169
+ * AnsweredCallDistributionPerDay
170
+ * AnsweredCallWaitTimePerDay
171
+ * InclusiveServiceLevelAgreementPerDay
172
+ * QueueLengthPerDay
173
+ * SalesPerDay
174
+ * ScheduleAdherencePerDay
175
+ * TrafficAnalysisByPeriodPerDay
176
+ * UnansweredCallWaitTimePerDay
159
177
  * Distributions
160
178
  * AcdAttemptsByQueue
161
179
  * AcdAttemptsByTerminal
@@ -0,0 +1,28 @@
1
+ module Queri
2
+ class Stats
3
+ class CallDistributionByDay
4
+ class AnsweredCallDistributionPerDay < Queri::Stats
5
+ include CompositeReportHelpers
6
+
7
+ class << self
8
+ def xml_code
9
+ CallDistributionByDay.xml_code + ".AnsDistrPerDay"
10
+ end
11
+
12
+ def key_translations
13
+ ActiveSupport::OrderedHash[
14
+ :day, "Day",
15
+ :number_of_calls, "Num",
16
+ :percentage_of_answered_calls_within_period, "&nbsp;",
17
+ :placeholder_for_num_calls_bar_graph, "Answered calls",
18
+ :average_call_duration, "Avg",
19
+ :minimum_call_duration, "Min",
20
+ :maximum_call_duration, "Max",
21
+ :placeholder_for_call_duration_bar_graph, "Avg duration"
22
+ ]
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ module Queri
2
+ class Stats
3
+ class CallDistributionByDay
4
+ class AnsweredCallWaitTimePerDay < Queri::Stats
5
+ include CompositeReportHelpers
6
+
7
+ class << self
8
+ def xml_code
9
+ CallDistributionByDay.xml_code + ".AnsWaitPerDay"
10
+ end
11
+
12
+ def key_translations
13
+ ActiveSupport::OrderedHash[
14
+ :day, "Day",
15
+ :number_of_calls, "Num",
16
+ :percentage_of_answered_calls_within_period, "&nbsp;",
17
+ :placeholder_for_num_calls_bar_graph, "Answered calls",
18
+ :average_call_wait_time, "Avg",
19
+ :minimum_call_wait_time, "Min",
20
+ :maximum_call_wait_time, "Max",
21
+ :placeholder_for_avg_wait_bar_graph, "Avg wait"
22
+ ]
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,36 @@
1
+ module Queri
2
+ class Stats
3
+ class CallDistributionByDay
4
+ class InclusiveServiceLevelAgreementPerDay < Queri::Stats
5
+ include CompositeReportHelpers
6
+
7
+ class << self
8
+ def xml_code
9
+ CallDistributionByDay.xml_code + ".InclSlaPerDay"
10
+ end
11
+
12
+ def key_translations
13
+ ActiveSupport::OrderedHash[
14
+ :day, "Day",
15
+ :number_of_answered_calls, "Ans.",
16
+ :number_of_unanswered_calls, "Unans.",
17
+ :number_of_processed_calls, "Num",
18
+ :percentage_of_calls_answered_under_10_sec, "&lt; 10",
19
+ :percentage_of_calls_answered_under_20_sec, "&lt; 20",
20
+ :percentage_of_calls_answered_under_30_sec, "&lt; 30",
21
+ :percentage_of_calls_answered_under_40_sec, "&lt; 40",
22
+ :percentage_of_calls_answered_under_50_sec, "&lt; 50",
23
+ :percentage_of_calls_answered_under_60_sec, "&lt; 60",
24
+ :percentage_of_calls_answered_under_70_sec, "&lt; 70",
25
+ :percentage_of_calls_answered_under_80_sec, "&lt; 80",
26
+ :percentage_of_calls_answered_under_90_sec, "&lt; 90",
27
+ :percentage_of_calls_answered_under_100_sec, "&lt; 100",
28
+ :percentage_of_calls_answered_under_110_sec, "&lt; 110",
29
+ :percentage_of_calls_answered_under_120_sec, "&lt; 120"
30
+ ]
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,29 @@
1
+ module Queri
2
+ class Stats
3
+ class CallDistributionByDay
4
+ class QueueLengthPerDay < Queri::Stats
5
+ include CompositeReportHelpers
6
+
7
+ class << self
8
+ def xml_code
9
+ CallDistributionByDay.xml_code + ".QPosPerDay"
10
+ end
11
+
12
+ def key_translations
13
+ ActiveSupport::OrderedHash[
14
+ :day, "Day",
15
+ :average_queue_length_during_period, "Avg",
16
+ :placeholder_for_length_avg_bar_graph, "&nbsp;",
17
+ :minimum_queue_length, "Min",
18
+ :maximum_queue_length, "Max",
19
+ :another_bar_graph, "&nbsp;",
20
+ :coverage_percentage, "Cover.",
21
+ :rate_of_throughput_per_hour, "Steps",
22
+ :empty, "&nbsp;"
23
+ ]
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,30 @@
1
+ module Queri
2
+ class Stats
3
+ class CallDistributionByDay
4
+ class SalesPerDay < Queri::Stats
5
+ include CompositeReportHelpers
6
+
7
+ class << self
8
+ def xml_code
9
+ CallDistributionByDay.xml_code + ".SalesPerDay"
10
+ end
11
+
12
+ def key_translations
13
+ ActiveSupport::OrderedHash[
14
+ :day, "Day",
15
+ :conv, "Conv.",
16
+ :qconv, "QConv.",
17
+ :sales, "Sales",
18
+ :sales_percentage, "&nbsp;",
19
+ :placeholder_for_sales_bar_graph, "&nbsp;",
20
+ :qcont, "QCont.",
21
+ :contacts, "Contacts",
22
+ :contacts_percentage, "&nbsp;",
23
+ :placeholder_for_contacts_bar_graph, "&nbsp;"
24
+ ]
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,24 @@
1
+ module Queri
2
+ class Stats
3
+ class CallDistributionByDay
4
+ class ScheduleAdherencePerDay < Queri::Stats
5
+ include CompositeReportHelpers
6
+
7
+ class << self
8
+ def xml_code
9
+ CallDistributionByDay.xml_code + ".StaffPerDay"
10
+ end
11
+
12
+ def key_translations
13
+ ActiveSupport::OrderedHash[
14
+ :day, "Day",
15
+ :number_of_agents, "Agents",
16
+ :percentage_of_all_agents_detected_within_period, "&nbsp;",
17
+ :placeholder_for_bar_graph, "&nbsp;"
18
+ ]
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,39 @@
1
+ module Queri
2
+ class Stats
3
+ class CallDistributionByDay
4
+ class TrafficAnalysisByPeriodPerDay < Queri::Stats
5
+ include CompositeReportHelpers
6
+
7
+ class << self
8
+ def xml_code
9
+ CallDistributionByDay.xml_code + ".TrafficAnPerDay"
10
+ end
11
+
12
+ def key_translations
13
+ ActiveSupport::OrderedHash[
14
+ :day, "Day",
15
+ :average_agents_logged_in_per_period_vs_total_period, "Avg ag",
16
+ :number_of_incoming_calls_per_period_vs_available_agents, "Calls/Ag",
17
+ :incoming_calls_sla, "Svc Lvl",
18
+ :number_of_lost_calls, "Unans",
19
+ :percentage_of_lost_calls_below_x_seconds, "Unans short",
20
+ :number_of_outgoing_calls_per_period_vs_available_agents, "Avg out",
21
+ :outbound_to_inbound_ratio, "Out/in",
22
+ :average_incoming_call_wait_time, "Avg ans",
23
+ :average_incoming_call_talk_time, "Avg talk",
24
+ :maximum_answered_incoming_call_wait_time, "Max wait ans",
25
+ :maximum_lost_incoming_call_wait_time, "Max wait lost",
26
+ :maximum_incoming_call_talk_time, "Max dur",
27
+ :maximum_outgoing_call_talk_time, "Max dur out",
28
+ :number_of_incoming_calls, "Off.",
29
+ :number_of_answered_incoming_calls, "Ans.",
30
+ :number_of_answered_outgoing_calls, "Ans. out",
31
+ :minimum_logged_on_agents_for_period, "Min Ag.",
32
+ :maximum_logged_on_agents_for_period, "Max Ag."
33
+ ]
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,28 @@
1
+ module Queri
2
+ class Stats
3
+ class CallDistributionByDay
4
+ class UnansweredCallWaitTimePerDay < Queri::Stats
5
+ include CompositeReportHelpers
6
+
7
+ class << self
8
+ def xml_code
9
+ CallDistributionByDay.xml_code + ".UnansWaitPerDay"
10
+ end
11
+
12
+ def key_translations
13
+ ActiveSupport::OrderedHash[
14
+ :day, "Day",
15
+ :number_of_calls, "Num",
16
+ :percentage_of_unanswered_calls_within_period, "&nbsp;",
17
+ :placeholder_for_num_calls_bar_graph, "Unanswered calls",
18
+ :average_call_wait_time, "Avg",
19
+ :minimum_call_wait_time, "Min",
20
+ :maximum_call_wait_time, "Max",
21
+ :placeholder_for_avg_wait_bar_graph, "Avg wait"
22
+ ]
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,11 @@
1
+ module Queri
2
+ class Stats
3
+ class CallDistributionByDay
4
+ @@xml_code = "CallDistrDO"
5
+
6
+ def self.xml_code
7
+ @@xml_code
8
+ end
9
+ end
10
+ end
11
+ end
@@ -1,18 +1,14 @@
1
1
  module Queri
2
2
  class Stats
3
3
  class UnansweredCalls
4
- class AllCalls
5
- attr_reader :response
4
+ class AllCalls < Queri::Stats
5
+ include AggregateReportHelpers
6
6
 
7
7
  class << self
8
8
  def xml_code
9
9
  UnansweredCalls.xml_code + ".ReportKoAll"
10
10
  end
11
11
 
12
- def query_method
13
- Stats.query_method
14
- end
15
-
16
12
  def key_translations
17
13
  ActiveSupport::OrderedHash[
18
14
  :calls_unanswered, "N.of unanswered calls:",
@@ -29,51 +25,7 @@ module Queri
29
25
  :maximum_queue_position_at_disconnect, "Max queue position at disconnection:"
30
26
  ]
31
27
  end
32
-
33
- def keys
34
- key_translations.keys
35
- end
36
28
  end
37
-
38
- def initialize *args
39
- raise ArgumentError, "expected arguments: queues(Array), period_start(Time), period_end(Time)" unless valid_args?(args)
40
- @queues, @period_start, @period_end = normalize_times(*args)
41
- @response = parse_response
42
- end
43
-
44
- private
45
-
46
- def valid_args? args
47
- valid = true
48
- valid = false if args[0].class != Array
49
- valid = false if args[1].class != Time
50
- valid = false if args[2].class != Time
51
- if valid and args[0].empty?
52
- raise ArgumentError, "queues array cannot be empty"
53
- end
54
- return valid
55
- end
56
-
57
- def normalize_times queues, period_start, period_end
58
- if period_start > period_end
59
- tmp = period_start
60
- period_start = period_end
61
- period_end = tmp
62
- end
63
- return [queues, period_start, period_end]
64
- end
65
-
66
- def parse_response
67
- r = Queri.send_request(@queues, self, @period_start, @period_end)
68
- xml_keys_to_human_readable_keys = self.class.key_translations.invert
69
- r.each_with_index do |metric,i|
70
- if i > 0
71
- metric[0] = xml_keys_to_human_readable_keys[ metric[0] ]
72
- end
73
- end
74
- r.shift
75
- Hash[*r.flatten]
76
- end
77
29
  end
78
30
  end
79
31
  end
@@ -1,18 +1,14 @@
1
1
  module Queri
2
2
  class Stats
3
3
  class UnansweredCalls
4
- class CallsFullyWithinTheGivenTimeInterval
5
- attr_reader :response
4
+ class CallsFullyWithinTheGivenTimeInterval < Queri::Stats
5
+ include AggregateReportHelpers
6
6
 
7
7
  class << self
8
8
  def xml_code
9
9
  UnansweredCalls.xml_code + ".ReportKoFully"
10
10
  end
11
11
 
12
- def query_method
13
- Stats.query_method
14
- end
15
-
16
12
  def key_translations
17
13
  ActiveSupport::OrderedHash[
18
14
  :calls_fully_within_the_given_time_interval, "Calls fully within the given time interval:",
@@ -30,52 +26,7 @@ module Queri
30
26
  :maximum_final_queue_position, "Max queue position at disconnection:"
31
27
  ]
32
28
  end
33
-
34
- def keys
35
- key_translations.keys
36
- end
37
29
  end
38
-
39
- def initialize *args
40
- raise ArgumentError, "expected arguments: queues(Array), period_start(Time), period_end(Time)" unless valid_args?(args)
41
- @queues, @period_start, @period_end = normalize_times(*args)
42
- @response = parse_response
43
- end
44
-
45
- private
46
-
47
- def valid_args? args
48
- valid = true
49
- valid = false if args[0].class != Array
50
- valid = false if args[1].class != Time
51
- valid = false if args[2].class != Time
52
- if valid and args[0].empty?
53
- raise ArgumentError, "queues array cannot be empty"
54
- end
55
- return valid
56
- end
57
-
58
- def normalize_times queues, period_start, period_end
59
- if period_start > period_end
60
- tmp = period_start
61
- period_start = period_end
62
- period_end = tmp
63
- end
64
- return [queues, period_start, period_end]
65
- end
66
-
67
- def parse_response
68
- r = Queri.send_request(@queues, self, @period_start, @period_end)
69
- xml_keys_to_human_readable_keys = self.class.key_translations.invert
70
- r.each_with_index do |metric,i|
71
- if i > 0
72
- metric[0] = xml_keys_to_human_readable_keys[ metric[0] ]
73
- end
74
- end
75
- r.shift
76
- Hash[*r.flatten]
77
- end
78
-
79
30
  end
80
31
  end
81
32
  end
data/lib/queri/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Queri
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+
3
+ describe Queri::Stats::CallDistributionByDay::AnsweredCallDistributionPerDay do
4
+ let(:report_class) { Queri::Stats::CallDistributionByDay::AnsweredCallDistributionPerDay }
5
+ let(:xml_code) { report_class.xml_code }
6
+
7
+ before { Queri.configure_with(File.join(File.dirname(__FILE__), '..', '..', 'config.yml')) }
8
+
9
+ it_behaves_like "a report class"
10
+
11
+ it_behaves_like "a report method"
12
+
13
+ it_behaves_like "a queuemetrics report"
14
+
15
+ it_behaves_like "a stats report"
16
+
17
+ describe "An instance of", Queri::Stats::CallDistributionByDay::AnsweredCallDistributionPerDay do
18
+ it_behaves_like "a composite aggregate report instance"
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+
3
+ describe Queri::Stats::CallDistributionByDay::AnsweredCallWaitTimePerDay do
4
+ let(:report_class) { Queri::Stats::CallDistributionByDay::AnsweredCallWaitTimePerDay }
5
+ let(:xml_code) { report_class.xml_code }
6
+
7
+ before { Queri.configure_with(File.join(File.dirname(__FILE__), '..', '..', 'config.yml')) }
8
+
9
+ it_behaves_like "a report class"
10
+
11
+ it_behaves_like "a report method"
12
+
13
+ it_behaves_like "a queuemetrics report"
14
+
15
+ it_behaves_like "a stats report"
16
+
17
+ describe "An instance of", Queri::Stats::CallDistributionByDay::AnsweredCallWaitTimePerDay do
18
+ it_behaves_like "a composite aggregate report instance"
19
+ end
20
+ end
@@ -0,0 +1,7 @@
1
+ require 'spec_helper'
2
+
3
+ describe Queri::Stats::CallDistributionByDay do
4
+ let(:report_class) { Queri::Stats::CallDistributionByDay }
5
+
6
+ it_behaves_like "a report class"
7
+ end
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+
3
+ describe Queri::Stats::CallDistributionByDay::InclusiveServiceLevelAgreementPerDay do
4
+ let(:report_class) { Queri::Stats::CallDistributionByDay::InclusiveServiceLevelAgreementPerDay }
5
+ let(:xml_code) { report_class.xml_code }
6
+
7
+ before { Queri.configure_with(File.join(File.dirname(__FILE__), '..', '..', 'config.yml')) }
8
+
9
+ it_behaves_like "a report class"
10
+
11
+ it_behaves_like "a report method"
12
+
13
+ it_behaves_like "a queuemetrics report"
14
+
15
+ it_behaves_like "a stats report"
16
+
17
+ describe "An instance of", Queri::Stats::CallDistributionByDay::InclusiveServiceLevelAgreementPerDay do
18
+ it_behaves_like "a composite aggregate report instance"
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+
3
+ describe Queri::Stats::CallDistributionByDay::QueueLengthPerDay do
4
+ let(:report_class) { Queri::Stats::CallDistributionByDay::QueueLengthPerDay }
5
+ let(:xml_code) { report_class.xml_code }
6
+
7
+ before { Queri.configure_with(File.join(File.dirname(__FILE__), '..', '..', 'config.yml')) }
8
+
9
+ it_behaves_like "a report class"
10
+
11
+ it_behaves_like "a report method"
12
+
13
+ it_behaves_like "a queuemetrics report"
14
+
15
+ it_behaves_like "a stats report"
16
+
17
+ describe "An instance of", Queri::Stats::CallDistributionByDay::QueueLengthPerDay do
18
+ it_behaves_like "a composite aggregate report instance"
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+
3
+ describe Queri::Stats::CallDistributionByDay::SalesPerDay do
4
+ let(:report_class) { Queri::Stats::CallDistributionByDay::SalesPerDay }
5
+ let(:xml_code) { report_class.xml_code }
6
+
7
+ before { Queri.configure_with(File.join(File.dirname(__FILE__), '..', '..', 'config.yml')) }
8
+
9
+ it_behaves_like "a report class"
10
+
11
+ it_behaves_like "a report method"
12
+
13
+ it_behaves_like "a queuemetrics report"
14
+
15
+ it_behaves_like "a stats report"
16
+
17
+ describe "An instance of", Queri::Stats::CallDistributionByDay::SalesPerDay do
18
+ it_behaves_like "a composite aggregate report instance"
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+
3
+ describe Queri::Stats::CallDistributionByDay::ScheduleAdherencePerDay do
4
+ let(:report_class) { Queri::Stats::CallDistributionByDay::ScheduleAdherencePerDay }
5
+ let(:xml_code) { report_class.xml_code }
6
+
7
+ before { Queri.configure_with(File.join(File.dirname(__FILE__), '..', '..', 'config.yml')) }
8
+
9
+ it_behaves_like "a report class"
10
+
11
+ it_behaves_like "a report method"
12
+
13
+ it_behaves_like "a queuemetrics report"
14
+
15
+ it_behaves_like "a stats report"
16
+
17
+ describe "An instance of", Queri::Stats::CallDistributionByDay::ScheduleAdherencePerDay do
18
+ it_behaves_like "a composite aggregate report instance"
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+
3
+ describe Queri::Stats::CallDistributionByDay::TrafficAnalysisByPeriodPerDay do
4
+ let(:report_class) { Queri::Stats::CallDistributionByDay::TrafficAnalysisByPeriodPerDay }
5
+ let(:xml_code) { report_class.xml_code }
6
+
7
+ before { Queri.configure_with(File.join(File.dirname(__FILE__), '..', '..', 'config.yml')) }
8
+
9
+ it_behaves_like "a report class"
10
+
11
+ it_behaves_like "a report method"
12
+
13
+ it_behaves_like "a queuemetrics report"
14
+
15
+ it_behaves_like "a stats report"
16
+
17
+ describe "An instance of", Queri::Stats::CallDistributionByDay::TrafficAnalysisByPeriodPerDay do
18
+ it_behaves_like "a composite aggregate report instance"
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+
3
+ describe Queri::Stats::CallDistributionByDay::UnansweredCallWaitTimePerDay do
4
+ let(:report_class) { Queri::Stats::CallDistributionByDay::UnansweredCallWaitTimePerDay }
5
+ let(:xml_code) { report_class.xml_code }
6
+
7
+ before { Queri.configure_with(File.join(File.dirname(__FILE__), '..', '..', 'config.yml')) }
8
+
9
+ it_behaves_like "a report class"
10
+
11
+ it_behaves_like "a report method"
12
+
13
+ it_behaves_like "a queuemetrics report"
14
+
15
+ it_behaves_like "a stats report"
16
+
17
+ describe "An instance of", Queri::Stats::CallDistributionByDay::UnansweredCallWaitTimePerDay do
18
+ it_behaves_like "a composite aggregate report instance"
19
+ end
20
+ end
@@ -1,4 +1,4 @@
1
- require File.join( File.dirname(__FILE__), '..', '..', 'spec_helper' )
1
+ require 'spec_helper'
2
2
 
3
3
  describe Queri::Stats::UnansweredCalls::AllCalls do
4
4
  let(:report_class) { Queri::Stats::UnansweredCalls::AllCalls }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: queri
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brad Rice
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-01 00:00:00.000000000 Z
11
+ date: 2014-02-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -104,6 +104,15 @@ files:
104
104
  - lib/queri/stats/answered_calls/queue_position.rb
105
105
  - lib/queri/stats/answered_calls/service_level_agreement.rb
106
106
  - lib/queri/stats/answered_calls/transfers.rb
107
+ - lib/queri/stats/call_distribution_by_day.rb
108
+ - lib/queri/stats/call_distribution_by_day/answered_call_distribution_per_day.rb
109
+ - lib/queri/stats/call_distribution_by_day/answered_call_wait_time_per_day.rb
110
+ - lib/queri/stats/call_distribution_by_day/inclusive_service_level_agreement_per_day.rb
111
+ - lib/queri/stats/call_distribution_by_day/queue_length_per_day.rb
112
+ - lib/queri/stats/call_distribution_by_day/sales_per_day.rb
113
+ - lib/queri/stats/call_distribution_by_day/schedule_adherence_per_day.rb
114
+ - lib/queri/stats/call_distribution_by_day/traffic_analysis_by_period_per_day.rb
115
+ - lib/queri/stats/call_distribution_by_day/unanswered_call_wait_time_per_day.rb
107
116
  - lib/queri/stats/details_of_agent_sessions_and_pauses.rb
108
117
  - lib/queri/stats/details_of_agent_sessions_and_pauses/detail_of_agent_pauses.rb
109
118
  - lib/queri/stats/details_of_agent_sessions_and_pauses/detail_of_agent_sessions.rb
@@ -157,6 +166,15 @@ files:
157
166
  - spec/stats/answered_calls/queue_position_spec.rb
158
167
  - spec/stats/answered_calls/service_level_agreement_spec.rb
159
168
  - spec/stats/answered_calls/transfers_spec.rb
169
+ - spec/stats/call_distribution_by_day/answered_call_distribution_per_day_spec.rb
170
+ - spec/stats/call_distribution_by_day/answered_call_wait_time_per_day_spec.rb
171
+ - spec/stats/call_distribution_by_day/call_distribution_by_day_spec.rb
172
+ - spec/stats/call_distribution_by_day/inclusive_service_level_agreement_per_day_spec.rb
173
+ - spec/stats/call_distribution_by_day/queue_length_per_day_spec.rb
174
+ - spec/stats/call_distribution_by_day/sales_per_day_spec.rb
175
+ - spec/stats/call_distribution_by_day/schedule_adherence_per_day_spec.rb
176
+ - spec/stats/call_distribution_by_day/traffic_analysis_by_period_per_day_spec.rb
177
+ - spec/stats/call_distribution_by_day/unanswered_call_wait_time_per_day_spec.rb
160
178
  - spec/stats/details_of_agent_sessions_and_pauses/detail_of_agent_pauses_spec.rb
161
179
  - spec/stats/details_of_agent_sessions_and_pauses/detail_of_agent_sessions_spec.rb
162
180
  - spec/stats/details_of_agent_sessions_and_pauses/details_of_agent_sessions_and_pauses_spec.rb
@@ -246,6 +264,15 @@ test_files:
246
264
  - spec/stats/answered_calls/queue_position_spec.rb
247
265
  - spec/stats/answered_calls/service_level_agreement_spec.rb
248
266
  - spec/stats/answered_calls/transfers_spec.rb
267
+ - spec/stats/call_distribution_by_day/answered_call_distribution_per_day_spec.rb
268
+ - spec/stats/call_distribution_by_day/answered_call_wait_time_per_day_spec.rb
269
+ - spec/stats/call_distribution_by_day/call_distribution_by_day_spec.rb
270
+ - spec/stats/call_distribution_by_day/inclusive_service_level_agreement_per_day_spec.rb
271
+ - spec/stats/call_distribution_by_day/queue_length_per_day_spec.rb
272
+ - spec/stats/call_distribution_by_day/sales_per_day_spec.rb
273
+ - spec/stats/call_distribution_by_day/schedule_adherence_per_day_spec.rb
274
+ - spec/stats/call_distribution_by_day/traffic_analysis_by_period_per_day_spec.rb
275
+ - spec/stats/call_distribution_by_day/unanswered_call_wait_time_per_day_spec.rb
249
276
  - spec/stats/details_of_agent_sessions_and_pauses/detail_of_agent_pauses_spec.rb
250
277
  - spec/stats/details_of_agent_sessions_and_pauses/detail_of_agent_sessions_spec.rb
251
278
  - spec/stats/details_of_agent_sessions_and_pauses/details_of_agent_sessions_and_pauses_spec.rb