neuron-client 0.2.6 → 0.3.0
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.
- data/README.md +11 -8
- data/lib/neuron-client/api.rb +5 -0
- data/lib/neuron-client/model/ad.rb +142 -0
- data/lib/neuron-client/model/ad_calculations.rb +325 -0
- data/lib/neuron-client/model/ad_zone.rb +45 -0
- data/lib/neuron-client/model/base.rb +233 -18
- data/lib/neuron-client/model/blocked_referer.rb +20 -0
- data/lib/neuron-client/model/blocked_user_agent.rb +21 -0
- data/lib/neuron-client/model/geo_target.rb +36 -0
- data/lib/neuron-client/model/pixel.rb +22 -0
- data/lib/neuron-client/model/report.rb +35 -0
- data/lib/neuron-client/model/s3_file.rb +30 -0
- data/lib/neuron-client/model/zone.rb +64 -0
- data/lib/neuron-client/model/zone_calculations.rb +37 -0
- data/lib/neuron-client/schema/ad.rb +406 -0
- data/lib/neuron-client/schema/ad_zone.rb +49 -0
- data/lib/neuron-client/schema/blocked_referer.rb +52 -0
- data/lib/neuron-client/schema/blocked_user_agent.rb +64 -0
- data/lib/neuron-client/schema/common.rb +220 -0
- data/lib/neuron-client/schema/event.rb +17 -0
- data/lib/neuron-client/schema/geo_target.rb +33 -0
- data/lib/neuron-client/schema/pixel.rb +39 -0
- data/lib/neuron-client/schema/report.rb +59 -0
- data/lib/neuron-client/schema/s3_file.rb +87 -0
- data/lib/neuron-client/schema/zone.rb +214 -0
- data/lib/neuron-client/version.rb +1 -1
- data/lib/neuron-client.rb +24 -59
- data/neuron-client.gemspec +3 -0
- data/spec/lib/admin_connection_spec.rb +234 -0
- data/spec/lib/api_spec.rb +41 -63
- data/spec/lib/model/ad_calculations_spec.rb +1146 -0
- data/spec/lib/model/ad_spec.rb +253 -0
- data/spec/lib/model/ad_zone_spec.rb +15 -0
- data/spec/lib/model/base_spec.rb +5 -83
- data/spec/lib/model/blocked_referer_spec.rb +36 -0
- data/spec/lib/model/blocked_user_agent_spec.rb +36 -0
- data/spec/lib/model/geo_target_spec.rb +28 -0
- data/spec/lib/model/pixel_spec.rb +36 -0
- data/spec/lib/model/report_spec.rb +17 -0
- data/spec/lib/{s3_file_spec.rb → model/s3_file_spec.rb} +6 -5
- data/spec/lib/model/zone_calculations_spec.rb +49 -0
- data/spec/lib/model/zone_spec.rb +155 -0
- data/spec/lib/schema/ad_spec.rb +515 -0
- data/spec/lib/schema/ad_zone_spec.rb +149 -0
- data/spec/lib/schema/blocked_referer_spec.rb +136 -0
- data/spec/lib/schema/blocked_user_agent_spec.rb +147 -0
- data/spec/lib/schema/geo_target_spec.rb +92 -0
- data/spec/lib/schema/pixel_spec.rb +125 -0
- data/spec/lib/schema/report_spec.rb +129 -0
- data/spec/lib/schema/s3_file_spec.rb +164 -0
- data/spec/lib/schema/zone_spec.rb +243 -0
- data/spec/spec_helper.rb +2 -1
- metadata +141 -121
- data/lib/neuron-client/model/admin/ad.rb +0 -22
- data/lib/neuron-client/model/admin/ad_zone.rb +0 -15
- data/lib/neuron-client/model/admin/base.rb +0 -91
- data/lib/neuron-client/model/admin/blocked_referer.rb +0 -12
- data/lib/neuron-client/model/admin/blocked_user_agent.rb +0 -12
- data/lib/neuron-client/model/admin/geo_target.rb +0 -16
- data/lib/neuron-client/model/admin/pixel.rb +0 -12
- data/lib/neuron-client/model/admin/report.rb +0 -15
- data/lib/neuron-client/model/admin/s3_file.rb +0 -12
- data/lib/neuron-client/model/admin/zone.rb +0 -15
- data/lib/neuron-client/model/common/ad.rb +0 -42
- data/lib/neuron-client/model/common/ad_calculations.rb +0 -329
- data/lib/neuron-client/model/common/ad_zone.rb +0 -17
- data/lib/neuron-client/model/common/base.rb +0 -67
- data/lib/neuron-client/model/common/blocked_referer.rb +0 -16
- data/lib/neuron-client/model/common/blocked_user_agent.rb +0 -16
- data/lib/neuron-client/model/common/geo_target.rb +0 -16
- data/lib/neuron-client/model/common/pixel.rb +0 -18
- data/lib/neuron-client/model/common/report.rb +0 -21
- data/lib/neuron-client/model/common/s3_file.rb +0 -16
- data/lib/neuron-client/model/common/zone.rb +0 -22
- data/lib/neuron-client/model/common/zone_calculations.rb +0 -41
- data/lib/neuron-client/model/membase/ad.rb +0 -49
- data/lib/neuron-client/model/membase/ad_zone.rb +0 -11
- data/lib/neuron-client/model/membase/blocked_referer.rb +0 -20
- data/lib/neuron-client/model/membase/blocked_user_agent.rb +0 -20
- data/lib/neuron-client/model/membase/geo_target.rb +0 -11
- data/lib/neuron-client/model/membase/pixel.rb +0 -22
- data/lib/neuron-client/model/membase/report.rb +0 -11
- data/lib/neuron-client/model/membase/s3_file.rb +0 -11
- data/lib/neuron-client/model/membase/zone.rb +0 -30
- data/lib/neuron-client/model/models.rb +0 -15
- data/spec/lib/model/admin/ad_spec.rb +0 -34
- data/spec/lib/model/admin/ad_zone_spec.rb +0 -19
- data/spec/lib/model/admin/base_spec.rb +0 -11
- data/spec/lib/model/admin/blocked_referer_spec.rb +0 -11
- data/spec/lib/model/admin/blocked_user_agent_spec.rb +0 -11
- data/spec/lib/model/admin/geo_target_spec.rb +0 -30
- data/spec/lib/model/admin/report_spec.rb +0 -21
- data/spec/lib/model/admin/s3_spec.rb +0 -11
- data/spec/lib/model/admin/zone_spec.rb +0 -21
- data/spec/lib/model/common/ad_calculations_spec.rb +0 -1151
- data/spec/lib/model/common/ad_spec.rb +0 -11
- data/spec/lib/model/common/ad_zone_spec.rb +0 -11
- data/spec/lib/model/common/base_spec.rb +0 -11
- data/spec/lib/model/common/blocked_referer_spec.rb +0 -11
- data/spec/lib/model/common/blocked_user_agent_spec.rb +0 -11
- data/spec/lib/model/common/geo_target_spec.rb +0 -11
- data/spec/lib/model/common/report_spec.rb +0 -11
- data/spec/lib/model/common/s3_spec.rb +0 -11
- data/spec/lib/model/common/zone_calculations_spec.rb +0 -54
- data/spec/lib/model/common/zone_spec.rb +0 -11
- data/spec/lib/model/membase/ad_spec.rb +0 -54
- data/spec/lib/model/membase/ad_zone_spec.rb +0 -11
- data/spec/lib/model/membase/base_spec.rb +0 -11
- data/spec/lib/model/membase/blocked_referer_spec.rb +0 -34
- data/spec/lib/model/membase/blocked_user_agent_spec.rb +0 -34
- data/spec/lib/model/membase/geo_target_spec.rb +0 -11
- data/spec/lib/model/membase/pixel_spec.rb +0 -34
- data/spec/lib/model/membase/report_spec.rb +0 -11
- data/spec/lib/model/membase/s3_spec.rb +0 -11
- data/spec/lib/model/membase/zone_spec.rb +0 -32
- data/spec/lib/old_spec.rb +0 -437
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
module Neuron
|
|
2
|
-
module Client
|
|
3
|
-
module Model
|
|
4
|
-
module Common
|
|
5
|
-
class FakeZone
|
|
6
|
-
include ZoneCalculations
|
|
7
|
-
def initialize(ads, ad_links)
|
|
8
|
-
@ads = ads
|
|
9
|
-
@ad_links = ad_links
|
|
10
|
-
end
|
|
11
|
-
attr_reader :ad_links
|
|
12
|
-
def find_ad(ad_id)
|
|
13
|
-
@ads[ad_id]
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
class ZoneCalculationSpecAd
|
|
18
|
-
def initialize(active, pressure)
|
|
19
|
-
@active = active
|
|
20
|
-
@pressure = pressure
|
|
21
|
-
end
|
|
22
|
-
attr_reader :pressure, :active
|
|
23
|
-
alias_method :active?, :active
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
describe ZoneCalculations do
|
|
27
|
-
describe ".calculate_ads_by_priority" do
|
|
28
|
-
it "should generate the expected result" do
|
|
29
|
-
ads = {
|
|
30
|
-
"0" => ZoneCalculationSpecAd.new(false, 42.0),
|
|
31
|
-
"1" => ZoneCalculationSpecAd.new(true, 11.1),
|
|
32
|
-
"2" => ZoneCalculationSpecAd.new(true, 11.1),
|
|
33
|
-
"3" => ZoneCalculationSpecAd.new(true, 22.2),
|
|
34
|
-
"4" => ZoneCalculationSpecAd.new(true, 1000),
|
|
35
|
-
"5" => ZoneCalculationSpecAd.new(true, 828282)
|
|
36
|
-
}
|
|
37
|
-
ad_links = {
|
|
38
|
-
"0" => {"priority" => 1, "weight" => 50},
|
|
39
|
-
"1" => {"priority" => 1, "weight" => 4},
|
|
40
|
-
"2" => {"priority" => 1, "weight" => 2},
|
|
41
|
-
"3" => {"priority" => 1, "weight" => 2},
|
|
42
|
-
"4" => {"priority" => 2, "weight" => 99.9}
|
|
43
|
-
}
|
|
44
|
-
zone = FakeZone.new(ads, ad_links)
|
|
45
|
-
|
|
46
|
-
zone.calculate_ads_by_priority.should == [[["1", 44.4], ["2", 22.2], ["3", 44.4]], [["4", 99900.0]]]
|
|
47
|
-
end
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
end
|
|
52
|
-
end
|
|
53
|
-
end
|
|
54
|
-
end
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
module Neuron
|
|
2
|
-
module Client
|
|
3
|
-
module Model
|
|
4
|
-
module Membase
|
|
5
|
-
describe Ad do
|
|
6
|
-
describe "total_impressed" do
|
|
7
|
-
it "should call the expected methods and return the expected value" do
|
|
8
|
-
a = Ad.allocate
|
|
9
|
-
a.should_receive(:id).and_return(7)
|
|
10
|
-
Ad.stub_chain(:connection, :get).with('count_delivery_ad_7',1).and_return('999.999')
|
|
11
|
-
|
|
12
|
-
a.total_impressed.should == 999.999
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
describe "today_impressed" do
|
|
17
|
-
it "should call the expected methods and return the expected value" do
|
|
18
|
-
a = Ad.allocate
|
|
19
|
-
a.should_receive(:time_zone).and_return('time_zone_value')
|
|
20
|
-
Time.stub_chain(:now, :in_time_zone).with('time_zone_value').and_return(Time.parse("2011-05-06 07:08"))
|
|
21
|
-
a.should_receive(:id).and_return(7)
|
|
22
|
-
Ad.stub_chain(:connection, :get).with('count_delivery_20110506_ad_7',1).and_return('99.99')
|
|
23
|
-
|
|
24
|
-
a.today_impressed.should == 99.99
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
describe "Ad.find(id)" do
|
|
29
|
-
context "when the connection returns a value" do
|
|
30
|
-
it "should call the expected methods and return the expected value" do
|
|
31
|
-
connection = MembaseConnection.new("example.com:11211")
|
|
32
|
-
Ad.stub(:connection).and_return(connection)
|
|
33
|
-
connection.stub(:get).with('Ad:7').and_return('{"ad":{"attr":"value","attr2":"value2"}}')
|
|
34
|
-
a = stub(:ad)
|
|
35
|
-
Ad.should_receive(:new).with({'attr' => 'value', 'attr2' => 'value2'}).and_return(a)
|
|
36
|
-
|
|
37
|
-
Ad.find(7).should == a
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
context "when the connection returns nil" do
|
|
41
|
-
it "should call the expected methods and return nil" do
|
|
42
|
-
connection = MembaseConnection.new("example.com:11211")
|
|
43
|
-
Ad.stub(:connection).and_return(connection)
|
|
44
|
-
connection.stub(:get).with('Ad:7').and_return(nil)
|
|
45
|
-
|
|
46
|
-
Ad.find(7).should be_nil
|
|
47
|
-
end
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
end
|
|
51
|
-
end
|
|
52
|
-
end
|
|
53
|
-
end
|
|
54
|
-
end
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
module Neuron
|
|
2
|
-
module Client
|
|
3
|
-
module Model
|
|
4
|
-
module Membase
|
|
5
|
-
describe BlockedReferer do
|
|
6
|
-
describe "BlockedReferer.all" do
|
|
7
|
-
context "when connection returns a value" do
|
|
8
|
-
it "should call the expected methods and return the expected value" do
|
|
9
|
-
conn = MembaseConnection.new("example.com:11211")
|
|
10
|
-
BlockedReferer.stub(:connection).and_return(conn)
|
|
11
|
-
conn.stub(:get).with('blocked_referers').and_return('[{"blocked_referer":{"attr":"value"}},{"blocked_referer":{"attr2":"value2"}}]')
|
|
12
|
-
br = stub(:blocked_referer)
|
|
13
|
-
br2 = stub(:blocked_referer2)
|
|
14
|
-
BlockedReferer.should_receive(:new).with({'attr' => 'value'}).and_return(br)
|
|
15
|
-
BlockedReferer.should_receive(:new).with({'attr2' => 'value2'}).and_return(br2)
|
|
16
|
-
|
|
17
|
-
BlockedReferer.all.should == [br, br2]
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
context "when connection returns nil" do
|
|
21
|
-
it "should call the expected methods and return the expected value" do
|
|
22
|
-
conn = MembaseConnection.new("example.com:11211")
|
|
23
|
-
BlockedReferer.stub(:connection).and_return(conn)
|
|
24
|
-
conn.stub(:get).with('blocked_referers').and_return(nil)
|
|
25
|
-
|
|
26
|
-
BlockedReferer.all.should == []
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
end
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
module Neuron
|
|
2
|
-
module Client
|
|
3
|
-
module Model
|
|
4
|
-
module Membase
|
|
5
|
-
describe BlockedUserAgent do
|
|
6
|
-
describe "BlockedUserAgent.all" do
|
|
7
|
-
context "when connection returns a value" do
|
|
8
|
-
it "should call the expected methods and return the expected value" do
|
|
9
|
-
conn = MembaseConnection.new("example.com:11211")
|
|
10
|
-
BlockedUserAgent.stub(:connection).and_return(conn)
|
|
11
|
-
conn.stub(:get).with('blocked_user_agents').and_return('[{"blocked_user_agent":{"attr":"value"}},{"blocked_user_agent":{"attr2":"value2"}}]')
|
|
12
|
-
bua = stub(:blocked_user_agent)
|
|
13
|
-
bua2 = stub(:blocked_user_agent2)
|
|
14
|
-
BlockedUserAgent.should_receive(:new).with({'attr' => 'value'}).and_return(bua)
|
|
15
|
-
BlockedUserAgent.should_receive(:new).with({'attr2' => 'value2'}).and_return(bua2)
|
|
16
|
-
|
|
17
|
-
BlockedUserAgent.all.should == [bua, bua2]
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
context "when connection returns nil" do
|
|
21
|
-
it "should call the expected methods and return the expected value" do
|
|
22
|
-
conn = MembaseConnection.new("example.com:11211")
|
|
23
|
-
BlockedUserAgent.stub(:connection).and_return(conn)
|
|
24
|
-
conn.stub(:get).with('blocked_user_agents').and_return(nil)
|
|
25
|
-
|
|
26
|
-
BlockedUserAgent.all.should == []
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
end
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
module Neuron
|
|
2
|
-
module Client
|
|
3
|
-
module Model
|
|
4
|
-
module Membase
|
|
5
|
-
describe Pixel do
|
|
6
|
-
describe "Pixel.find(id)" do
|
|
7
|
-
context "when the connection returns a value" do
|
|
8
|
-
it "should call the expected methods and return the expected value" do
|
|
9
|
-
c = stub(:connection)
|
|
10
|
-
Pixel.should_receive(:connection).exactly(2).times.and_return(c)
|
|
11
|
-
p = stub(:pixel)
|
|
12
|
-
c.stub_chain(:local_cache, :fetch).with('Neuron::Client::Model::Pixel:7').and_yield.and_return(p)
|
|
13
|
-
c.should_receive(:get).with('Pixel:7').and_return('{"pixel":{"attr":"value","attr2":"value2"}}')
|
|
14
|
-
Pixel.should_receive(:new).with({'attr' => 'value', 'attr2' => 'value2'}).and_return(p)
|
|
15
|
-
|
|
16
|
-
Pixel.find(7).should == p
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
context "when the connection returns nil" do
|
|
20
|
-
it "should call the expected methods and return nil" do
|
|
21
|
-
c = stub(:connection)
|
|
22
|
-
Pixel.should_receive(:connection).exactly(2).times.and_return(c)
|
|
23
|
-
c.stub_chain(:local_cache, :fetch).with('Neuron::Client::Model::Pixel:7').and_yield.and_return(nil)
|
|
24
|
-
c.should_receive(:get).with('Pixel:7').and_return(nil)
|
|
25
|
-
|
|
26
|
-
Pixel.find(7).should be_nil
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
end
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
module Neuron
|
|
2
|
-
module Client
|
|
3
|
-
module Model
|
|
4
|
-
module Membase
|
|
5
|
-
describe Zone do
|
|
6
|
-
describe "Zone.all" do
|
|
7
|
-
context "when connection.get returns a value" do
|
|
8
|
-
it "should call the expected methods and return the expected result" do
|
|
9
|
-
conn = MembaseConnection.new("example.com:11211")
|
|
10
|
-
Zone.stub(:connection).and_return(conn)
|
|
11
|
-
conn.stub(:get).with('Zone:7').and_return('{"zone":{"attr":"value","attr2":"value2"}}')
|
|
12
|
-
z = stub(:zone)
|
|
13
|
-
Zone.should_receive(:new).with({'attr' => 'value', 'attr2' => 'value2'}).and_return(z)
|
|
14
|
-
|
|
15
|
-
Zone.find(7).should == z
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
context "when connection.get returns nil" do
|
|
19
|
-
it "should call the expected methods and return nil" do
|
|
20
|
-
conn = MembaseConnection.new("example.com:11211")
|
|
21
|
-
Zone.stub(:connection).and_return(conn)
|
|
22
|
-
conn.stub(:get).with('Zone:7').and_return(nil)
|
|
23
|
-
|
|
24
|
-
Zone.find(7).should be_nil
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
end
|