neuron-client 0.4.4 → 0.4.5
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.
@@ -72,9 +72,11 @@ module Neuron
|
|
72
72
|
connected_to_admin!
|
73
73
|
by = (parameters[:by] || parameters['by']).to_s
|
74
74
|
minutes = parameters[:minutes] || parameters['minutes']
|
75
|
+
group_by = parameters[:group_by] || parameters['group_by']
|
75
76
|
parameters = {}
|
76
77
|
parameters['by'] = by unless by.blank?
|
77
78
|
parameters['minutes'] = minutes.to_i if minutes.to_i > 0
|
79
|
+
parameters['group_by'] = group_by.to_s unless group_by.blank?
|
78
80
|
if validate?
|
79
81
|
unless STATISTIC_TYPES.include?(statistic.to_s)
|
80
82
|
raise "Unsupported statistic: #{statistic}"
|
@@ -85,6 +87,9 @@ module Neuron
|
|
85
87
|
unless minutes.blank? || minutes.to_i > 0
|
86
88
|
raise "Unsupported minutes: #{minutes}"
|
87
89
|
end
|
90
|
+
unless group_by.blank? || group_by == 'hour'
|
91
|
+
raise "Unsupported group_by: #{group_by}"
|
92
|
+
end
|
88
93
|
end
|
89
94
|
|
90
95
|
connection.get("ads/#{id}/recent/#{statistic}", parameters)
|
@@ -58,6 +58,35 @@ module Neuron
|
|
58
58
|
Ad.find(ad_id)
|
59
59
|
end
|
60
60
|
|
61
|
+
STATISTIC_TYPES = %w(requests blocks defaults unitloads selections undeliveries impressions redirects clicks)
|
62
|
+
|
63
|
+
def recent(statistic, parameters={})
|
64
|
+
connected_to_admin!
|
65
|
+
by = (parameters[:by] || parameters['by']).to_s
|
66
|
+
minutes = parameters[:minutes] || parameters['minutes']
|
67
|
+
group_by = parameters[:group_by] || parameters['group_by']
|
68
|
+
parameters = {}
|
69
|
+
parameters['by'] = by unless by.blank?
|
70
|
+
parameters['minutes'] = minutes.to_i if minutes.to_i > 0
|
71
|
+
parameters['group_by'] = group_by.to_s unless group_by.blank?
|
72
|
+
if validate?
|
73
|
+
unless STATISTIC_TYPES.include?(statistic.to_s)
|
74
|
+
raise "Unsupported statistic: #{statistic}"
|
75
|
+
end
|
76
|
+
unless by.blank? || by == 'zone'
|
77
|
+
raise "Unsupported by: #{by}"
|
78
|
+
end
|
79
|
+
unless minutes.blank? || minutes.to_i > 0
|
80
|
+
raise "Unsupported minutes: #{minutes}"
|
81
|
+
end
|
82
|
+
unless group_by.blank? || group_by == 'hour'
|
83
|
+
raise "Unsupported group_by: #{group_by}"
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
connection.get("zones/#{id}/recent/#{statistic}", parameters)
|
88
|
+
end
|
89
|
+
|
61
90
|
def unlink(ad_id)
|
62
91
|
connected_to_admin!
|
63
92
|
validate_id!(ad_id)
|
@@ -76,4 +105,4 @@ module Neuron
|
|
76
105
|
end
|
77
106
|
end
|
78
107
|
end
|
79
|
-
end
|
108
|
+
end
|
data/spec/lib/model/zone_spec.rb
CHANGED
@@ -110,6 +110,15 @@ module Neuron
|
|
110
110
|
end
|
111
111
|
end
|
112
112
|
|
113
|
+
describe "recent(statistic, by=nil)" do
|
114
|
+
it "should call the expected method and return the expected result" do
|
115
|
+
zone = Zone.new(@minimal_attributes.merge('id' => 'z99'))
|
116
|
+
@connection.should_receive(:get).with('zones/z99/recent/impressions', {'by' => 'zone'}).and_return('return_value')
|
117
|
+
|
118
|
+
zone.recent('impressions', :by => 'zone').should == 'return_value'
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
113
122
|
describe "unlink(ad_id)" do
|
114
123
|
it "should call the expected method and return the expected results" do
|
115
124
|
zone = Zone.new(@minimal_attributes.merge('id' => 'z99'))
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: neuron-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 5
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 4
|
9
|
-
-
|
10
|
-
version: 0.4.
|
9
|
+
- 5
|
10
|
+
version: 0.4.5
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- RMM Online
|
@@ -15,7 +15,8 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-03-
|
18
|
+
date: 2012-03-12 00:00:00 -05:00
|
19
|
+
default_executable:
|
19
20
|
dependencies:
|
20
21
|
- !ruby/object:Gem::Dependency
|
21
22
|
name: rest-client
|
@@ -450,6 +451,7 @@ files:
|
|
450
451
|
- spec/lib/schema/s3_file_spec.rb
|
451
452
|
- spec/lib/schema/zone_spec.rb
|
452
453
|
- spec/spec_helper.rb
|
454
|
+
has_rdoc: true
|
453
455
|
homepage: http://github.com/rmm/neuron-client
|
454
456
|
licenses: []
|
455
457
|
|
@@ -479,7 +481,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
479
481
|
requirements: []
|
480
482
|
|
481
483
|
rubyforge_project: neuron-client
|
482
|
-
rubygems_version: 1.
|
484
|
+
rubygems_version: 1.6.2
|
483
485
|
signing_key:
|
484
486
|
specification_version: 3
|
485
487
|
summary: Neuron Admin Client Gem
|