appnexusapi 0.1.3 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +33 -4
  3. data/UPGRADING.md +10 -0
  4. data/appnexusapi.gemspec +2 -0
  5. data/env_example +1 -3
  6. data/lib/appnexusapi/advertiser_resource.rb +2 -0
  7. data/lib/appnexusapi/advertiser_service.rb +2 -0
  8. data/lib/appnexusapi/campaign_resource.rb +2 -0
  9. data/lib/appnexusapi/campaign_service.rb +2 -0
  10. data/lib/appnexusapi/connection.rb +19 -5
  11. data/lib/appnexusapi/content_category_service.rb +3 -1
  12. data/lib/appnexusapi/creative_service.rb +0 -10
  13. data/lib/appnexusapi/payment_rule_resource.rb +2 -0
  14. data/lib/appnexusapi/payment_rule_service.rb +2 -0
  15. data/lib/appnexusapi/placement_resource.rb +2 -0
  16. data/lib/appnexusapi/placement_service.rb +2 -0
  17. data/lib/appnexusapi/profile_resource.rb +2 -0
  18. data/lib/appnexusapi/profile_service.rb +2 -0
  19. data/lib/appnexusapi/publisher_resource.rb +2 -0
  20. data/lib/appnexusapi/publisher_service.rb +2 -0
  21. data/lib/appnexusapi/resource.rb +5 -4
  22. data/lib/appnexusapi/service.rb +16 -8
  23. data/lib/appnexusapi/site_resource.rb +2 -0
  24. data/lib/appnexusapi/site_service.rb +2 -0
  25. data/lib/appnexusapi/version.rb +1 -1
  26. data/spec/connection_spec.rb +13 -3
  27. data/spec/creative_service_spec.rb +33 -22
  28. data/spec/fixtures/vcr/advertiser_get.yml +108 -0
  29. data/spec/fixtures/vcr/campaign_life_cycle.yml +524 -0
  30. data/spec/fixtures/vcr/content_category_crud.yml +398 -0
  31. data/spec/fixtures/vcr/creative_service_create.yml +216 -0
  32. data/spec/fixtures/vcr/creative_service_delete.yml +354 -0
  33. data/spec/fixtures/vcr/creative_service_get.yml +214 -0
  34. data/spec/fixtures/vcr/creative_service_update.yml +266 -0
  35. data/spec/fixtures/vcr/domain_list_limits.yml +105 -0
  36. data/spec/fixtures/vcr/line_item_life_cycle.yml +521 -0
  37. data/spec/fixtures/vcr/member_get.yml +150 -0
  38. data/spec/fixtures/vcr/object_limit_info.yml +105 -0
  39. data/spec/fixtures/vcr/payment_rule_lifecycle.yml +346 -0
  40. data/spec/fixtures/vcr/placement_service_default_placement.yml +166 -0
  41. data/spec/fixtures/vcr/profile_life_cycle.yml +349 -0
  42. data/spec/fixtures/vcr/profile_limits.yml +105 -0
  43. data/spec/fixtures/vcr/publisher_crud.yml +282 -0
  44. data/spec/fixtures/vcr/site_lifecycle.yml +284 -0
  45. data/spec/fixtures/vcr/user_login.yml +107 -0
  46. data/spec/fixtures/vcr/user_update.yml +288 -0
  47. data/spec/integration/advertiser_spec.rb +11 -0
  48. data/spec/integration/campaign_spec.rb +38 -0
  49. data/spec/integration/content_category_spec.rb +22 -0
  50. data/spec/integration/line_item_spec.rb +27 -0
  51. data/spec/integration/member_spec.rb +9 -0
  52. data/spec/integration/payment_rule_spec.rb +33 -0
  53. data/spec/integration/placement_spec.rb +29 -0
  54. data/spec/integration/profile_spec.rb +29 -0
  55. data/spec/integration/publisher_spec.rb +20 -0
  56. data/spec/integration/site_spec.rb +32 -0
  57. data/spec/integration/user_spec.rb +42 -0
  58. data/spec/object_limit_service_spec.rb +14 -11
  59. data/spec/spec_helper.rb +52 -25
  60. data/spec/support/shared_contexts.rb +28 -0
  61. metadata +109 -3
@@ -0,0 +1,27 @@
1
+ require 'spec_helper'
2
+
3
+ describe AppnexusApi::LineItemService do
4
+ include_context 'with a new line item'
5
+
6
+ it "line item life cycle" do
7
+ # get all the line items
8
+ VCR.use_cassette('line_item_life_cycle') do
9
+ line_items = line_item_service.get(advertiser_id: advertiser_id)
10
+ new_line_item = line_item_service.create(advertiser_url_params, line_item_params)
11
+
12
+ ids = line_items.map(&:id) + [new_line_item.id]
13
+ expect(line_item_service.get(advertiser_id: advertiser_id).map(&:id).sort).to eq(ids.sort)
14
+
15
+ # update a line item
16
+ expect(new_line_item.state).to eq("active")
17
+ updated_line_item = new_line_item.update(advertiser_url_params, {state: "inactive"} )
18
+ expect(updated_line_item["state"]).to eq('inactive')
19
+
20
+ # delete a line item
21
+ new_line_item.delete(advertiser_url_params)
22
+
23
+ expect(line_item_service.get("id" => new_line_item.id)).to be_nil
24
+ advertiser.delete
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,9 @@
1
+ require 'spec_helper'
2
+
3
+ describe AppnexusApi::MemberService do
4
+ it 'returns the current member' do
5
+ VCR.use_cassette('member_get') do
6
+ described_class.new(connection).get
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,33 @@
1
+ require 'spec_helper'
2
+
3
+ describe AppnexusApi::PaymentRuleService do
4
+ include_context 'with a publisher'
5
+
6
+ let(:payment_rule_service) { described_class.new(connection) }
7
+ let(:code) { 'spec_payment_rule_code' }
8
+ let(:payment_rules_url_params) { { publisher_id: publisher['id'] } }
9
+ let(:initial_cost_cpm) { 1.00 }
10
+ let(:update_cost_cpm) { 2.00 }
11
+ let(:payment_rule_params) do
12
+ {
13
+ code: code,
14
+ name: 'spec payment rule',
15
+ pricing_type: 'cpm',
16
+ cost_cpm: initial_cost_cpm
17
+ }
18
+ end
19
+
20
+ it 'payment rule life cycle' do
21
+ VCR.use_cassette('payment_rule_lifecycle') do
22
+ payment_rule = payment_rule_service.create(payment_rules_url_params, payment_rule_params)
23
+ expect(payment_rule.name).to eq('spec payment rule')
24
+ expect(payment_rule.cost_cpm).to eq(initial_cost_cpm)
25
+
26
+ updated_rule = payment_rule.update(payment_rules_url_params, { cost_cpm: update_cost_cpm} )
27
+ expect(updated_rule['cost_cpm']).to eq(update_cost_cpm)
28
+
29
+ payment_rule.delete
30
+ publisher.delete
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,29 @@
1
+ require 'spec_helper'
2
+
3
+ describe AppnexusApi::PlacementService do
4
+
5
+ include_context 'with a publisher'
6
+
7
+ let(:placement_service) { described_class.new(connection) }
8
+
9
+ it "default placement" do
10
+ pending 'seems to rely on a configured default_site_id'
11
+ raise 'seems to rely on a configured default_site_id'
12
+
13
+ VCR.use_cassette('placement_service_default_placement') do
14
+ # now grab the default site
15
+ default_site = AppnexusApi::SiteService.new(connection).get(
16
+ id: publisher.default_site_id,
17
+ publisher_id: publisher.id
18
+ ).first
19
+
20
+ # grab the default placement
21
+ default_placement = placement_service.get(id: default_site.placements.first["id"]).first
22
+ default_placement.name.should == "[Publisher Name] - Default"
23
+ default_placement.state.should == "active"
24
+
25
+ default_site.delete
26
+ publisher.delete
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,29 @@
1
+ require 'spec_helper'
2
+
3
+ describe AppnexusApi::ProfileService do
4
+ include_context 'with a new line item'
5
+
6
+ let(:profile_service) { described_class.new(connection) }
7
+ let(:profile_descript) { 'Targeting only the US' }
8
+
9
+ it "profile life cycle" do
10
+ VCR.use_cassette('profile_life_cycle') do
11
+ profile_params = {
12
+ :code => "spec_profile_code",
13
+ :description => profile_descript,
14
+ :country_targets => [ { :id => 233 } ],
15
+ :country_action => "include"
16
+ }
17
+
18
+ profile = profile_service.create(advertiser_url_params, profile_params)
19
+ expect(profile.description).to eq(profile_descript)
20
+ expect(profile.country_targets).to eq([{ "id"=>233,"code"=>"US", "name"=>"United States", "active"=>true }])
21
+
22
+ new_line_item = line_item_service.create(advertiser_url_params, line_item_params.merge(profile_id: profile.id))
23
+ new_line_item.profile_id.should == profile.id
24
+
25
+ new_line_item.delete({ "advertiser_id" => advertiser_id })
26
+ advertiser.delete
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+
3
+ describe AppnexusApi::PublisherService do
4
+ include_context 'with a publisher'
5
+
6
+ it "cruds" do
7
+ VCR.use_cassette('publisher_crud') do
8
+ expect(publisher.name).to eq 'spec publisher'
9
+ expect(publisher.expose_domains).to be true
10
+ expect(publisher.reselling_exposure).to eq "public"
11
+ expect(publisher.ad_quality_advanced_mode_enabled).to be true
12
+
13
+ expect { publisher_service.get("id" => publisher.id) }.to_not raise_error
14
+
15
+ publisher.delete
16
+
17
+ expect(publisher_service.get("id" => publisher.id)).to be_nil
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,32 @@
1
+ require 'spec_helper'
2
+
3
+ describe AppnexusApi::SiteService do
4
+ include_context 'with a publisher'
5
+
6
+ let(:code) { 'spec_pub_code' }
7
+ let(:site_service) { described_class.new(connection) }
8
+ let(:site_code) { 'spec_site_code' }
9
+
10
+ it "site life cycle" do
11
+ VCR.use_cassette('site_lifecycle') do
12
+ new_site_url_params = { publisher_id: publisher.id }
13
+ new_site_params = {
14
+ name: "Site Name",
15
+ code: site_code,
16
+ url: "http://www.example.com",
17
+ intended_audience: "general",
18
+ audited: true
19
+ }
20
+
21
+ new_site = site_service.create(new_site_url_params, new_site_params)
22
+ new_site.name.should == "Site Name"
23
+ new_site.code.should == site_code
24
+ new_site.url.should == "http://www.example.com"
25
+ new_site.intended_audience.should == "general"
26
+ new_site.audited.should == true
27
+
28
+ new_site.delete
29
+ publisher.delete
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,42 @@
1
+ require 'spec_helper'
2
+
3
+ describe AppnexusApi::UserService do
4
+ let(:user_service) { described_class.new(connection) }
5
+ let(:current_user) { user_service.get(current: 1).first }
6
+ let(:new_user_hash) do
7
+ {
8
+ username: 'rspec_user',
9
+ password: 'rspec_user',
10
+ user_type: 'member',
11
+ entity_id: current_user.entity_id,
12
+ first_name: "rspec",
13
+ last_name: "test",
14
+ email: "rspec@api.appnexus.com",
15
+ state: "inactive",
16
+ api_login: true, #this can only be set by Appnexus
17
+ }
18
+ end
19
+
20
+ it 'returns the current user' do
21
+ VCR.use_cassette('user_login') do
22
+ expect(current_user.api_login).to be true
23
+ end
24
+ end
25
+
26
+ #users aren't delete-able
27
+ #it 'create' do
28
+ # @new_user = @user_service.create({}, new_user_hash)
29
+ # expect(@user_service.get(id: @new_user.id).last_name).to eq "test"
30
+ #end
31
+
32
+ it 'updates' do
33
+ VCR.use_cassette('user_update') do
34
+ last_name ||= current_user.last_name
35
+ current_user.update({}, { last_name: "test" })
36
+ updated_user = user_service.get(id: current_user.id).first
37
+ #restore the last_name before expecting
38
+ current_user.update({}, { last_name: last_name })
39
+ expect(updated_user.last_name).to eq "test"
40
+ end
41
+ end
42
+ end
@@ -1,24 +1,27 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe AppnexusApi::ObjectLimitService do
4
- let(:object_limit_service) do
5
- AppnexusApi::ObjectLimitService.new(connection)
6
- end
4
+ let(:object_limit_service) { described_class.new(connection) }
7
5
 
8
6
  it "returns info about your current creative limits" do
9
- creative_limits = object_limit_service.creative_limits.raw_json
10
- expect(creative_limits["object_type"]).to eq "creative"
11
- expect(creative_limits["limit"].to_i).to be > 0
7
+ VCR.use_cassette('object_limit_info') do
8
+ creative_limits = object_limit_service.creative_limits.raw_json
9
+ expect(creative_limits["object_type"]).to eq "creative"
10
+ expect(creative_limits["limit"].to_i).to be > 0
11
+ end
12
12
  end
13
13
 
14
14
  it "returns info about your current profile limits" do
15
- profile_limits = object_limit_service.profile_limits.raw_json
16
- expect(profile_limits["object_type"]).to eq "profile"
15
+ VCR.use_cassette('profile_limits') do
16
+ profile_limits = object_limit_service.profile_limits.raw_json
17
+ expect(profile_limits["object_type"]).to eq "profile"
18
+ end
17
19
  end
18
20
 
19
21
  it "returns info about your current domain list limits" do
20
- domain_list_limits = object_limit_service.domain_list_limits.raw_json
21
- expect(domain_list_limits["object_type"]).to eq "domain_list"
22
+ VCR.use_cassette('domain_list_limits') do
23
+ domain_list_limits = object_limit_service.domain_list_limits.raw_json
24
+ expect(domain_list_limits["object_type"]).to eq "domain_list"
25
+ end
22
26
  end
23
27
  end
24
-
data/spec/spec_helper.rb CHANGED
@@ -1,36 +1,63 @@
1
1
  require 'dotenv'
2
- Dotenv.load
3
-
4
2
  require 'pry'
5
3
  require 'logger'
4
+ require 'vcr'
5
+ require 'webmock'
6
6
  require_relative '../lib/appnexusapi'
7
+ Dir['./spec/support/**/*.rb'].sort.each { |f| require f }
7
8
 
8
- RSpec.configure do |c|
9
- c.filter_run_excluding :slow => true
10
- end
9
+ DEFAULT_SPEC_USERNAME = 'user'
10
+ DEFAULT_SPEC_PASSWORD = 'pass'
11
11
 
12
- def test_logger
13
- return @logger unless @logger.nil?
14
- FileUtils.mkdir_p('./log')
15
- @logger = Logger.new('./log/test.log')
16
- @logger.level = Logger::INFO
17
- @logger
18
- end
12
+ Dotenv.load
13
+
14
+ module SpecWithConnection
15
+ extend RSpec::SharedContext
19
16
 
20
- def connection
21
- AppnexusApi::Connection.new(
22
- 'username' => ENV['APPNEXUS_USERNAME'],
23
- 'password' => ENV['APPNEXUS_PASSWORD'],
24
- 'uri' => ENV['APPNEXUS_URI'],
25
- 'logger' => test_logger
26
- )
17
+ let(:test_logger) { Logger.new('./log/test.log') }
18
+ let(:connection) { AppnexusApi::Connection.new(connection_params.merge('logger' => test_logger)) }
19
+ let(:connection_with_null_logger) { AppnexusApi::Connection.new(connection_params) }
20
+ let(:connection_params) do
21
+ {
22
+ 'username' => ENV['APPNEXUS_USERNAME'] || 'user',
23
+ 'password' => ENV['APPNEXUS_PASSWORD'] || 'pass',
24
+ 'uri' => ENV['APPNEXUS_URI'] || 'https://api-test.appnexus.com'
25
+ }
26
+ end
27
27
  end
28
28
 
29
- def connection_with_null_logger
30
- AppnexusApi::Connection.new(
31
- 'username' => ENV['APPNEXUS_USERNAME'],
32
- 'password' => ENV['APPNEXUS_PASSWORD'],
33
- 'uri' => ENV['APPNEXUS_URI']
34
- )
29
+ RSpec.configure do |config|
30
+ config.before(:suite) do
31
+ FileUtils.mkdir_p('./log')
32
+
33
+ if ENV['APPNEXUS_USERNAME'] && ENV['APPNEXUS_PASSWORD']
34
+ puts 'Attempting to destroy rspec created records on the Appnexus test server...'
35
+ connection_params = {
36
+ 'username' => ENV['APPNEXUS_USERNAME'],
37
+ 'password' => ENV['APPNEXUS_PASSWORD'],
38
+ 'uri' => ENV['APPNEXUS_URI'] || 'https://api-test.appnexus.com'
39
+ }
40
+
41
+ connection = AppnexusApi::Connection.new(connection_params.merge('logger' => Logger.new('./log/test.log')))
42
+
43
+ AppnexusApi::PublisherService.new(connection).get.each { |p| p.delete if p.name =~ /spec/ || p.code =~ /spec/ }
44
+ AppnexusApi::AdvertiserService.new(connection).get.each { |a| a.delete if a.name =~ /spec/ }
45
+ end
46
+ end
47
+
48
+ config.filter_run_excluding slow: true
49
+ config.include SpecWithConnection
35
50
  end
36
51
 
52
+ VCR.configure do |c|
53
+ c.cassette_library_dir = 'spec/fixtures/vcr'
54
+ c.hook_into :webmock
55
+
56
+ c.allow_http_connections_when_no_cassette = true
57
+ c.filter_sensitive_data('<APPNEXUS_USERNAME>') { ENV['APPNEXUS_USERNAME'] || DEFAULT_SPEC_USERNAME }
58
+ c.filter_sensitive_data('<APPNEXUS_PASSWORD>') { ENV['APPNEXUS_PASSWORD'] || DEFAULT_SPEC_PASSWORD }
59
+
60
+ c.default_cassette_options = {
61
+ match_requests_on: [:method, :uri, :body]
62
+ }
63
+ end
@@ -0,0 +1,28 @@
1
+ shared_context 'with an advertiser' do
2
+ let(:advertiser_params) { { name: 'rspec advertiser' } }
3
+ let(:advertiser) { AppnexusApi::AdvertiserService.new(connection).create({}, advertiser_params) }
4
+ let(:advertiser_id) { advertiser.id }
5
+ let(:advertiser_url_params) { { advertiser_id: advertiser_id } }
6
+ end
7
+
8
+ shared_context 'with a new line item' do
9
+ include_context 'with an advertiser'
10
+
11
+ let(:line_item_service) { AppnexusApi::LineItemService.new(connection) }
12
+ let(:line_item_params) { { name: 'some line item', code: 'spec_line_code' } }
13
+ end
14
+
15
+ shared_context 'with a publisher' do
16
+ let(:publisher_service) { AppnexusApi::PublisherService.new(connection) }
17
+ let(:publisher) { publisher_service.create(publisher_url_params, publisher_params) }
18
+ let(:publisher_url_params) { { create_default_placement: false } }
19
+ let(:publisher_params) do
20
+ {
21
+ name: "spec publisher",
22
+ code: 'spec_publisher_code',
23
+ expose_domains: true,
24
+ reselling_exposure: "public",
25
+ ad_quality_advanced_mode_enabled: true
26
+ }
27
+ end
28
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appnexusapi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marlon Moyer
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2016-09-26 00:00:00.000000000 Z
13
+ date: 2017-02-09 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: faraday
@@ -138,6 +138,34 @@ dependencies:
138
138
  - - ">="
139
139
  - !ruby/object:Gem::Version
140
140
  version: '0'
141
+ - !ruby/object:Gem::Dependency
142
+ name: vcr
143
+ requirement: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - ">="
146
+ - !ruby/object:Gem::Version
147
+ version: '0'
148
+ type: :development
149
+ prerelease: false
150
+ version_requirements: !ruby/object:Gem::Requirement
151
+ requirements:
152
+ - - ">="
153
+ - !ruby/object:Gem::Version
154
+ version: '0'
155
+ - !ruby/object:Gem::Dependency
156
+ name: webmock
157
+ requirement: !ruby/object:Gem::Requirement
158
+ requirements:
159
+ - - ">="
160
+ - !ruby/object:Gem::Version
161
+ version: '0'
162
+ type: :development
163
+ prerelease: false
164
+ version_requirements: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - ">="
167
+ - !ruby/object:Gem::Version
168
+ version: '0'
141
169
  description: ''
142
170
  email:
143
171
  - marlon@simpli.fi
@@ -151,11 +179,14 @@ files:
151
179
  - LICENSE
152
180
  - README.md
153
181
  - Rakefile
182
+ - UPGRADING.md
154
183
  - appnexusapi.gemspec
155
184
  - env_example
156
185
  - lib/appnexusapi.rb
157
186
  - lib/appnexusapi/ad_server_resource.rb
158
187
  - lib/appnexusapi/ad_server_service.rb
188
+ - lib/appnexusapi/advertiser_resource.rb
189
+ - lib/appnexusapi/advertiser_service.rb
159
190
  - lib/appnexusapi/bidder_instance_resource.rb
160
191
  - lib/appnexusapi/bidder_instance_service.rb
161
192
  - lib/appnexusapi/bidder_profile_resource.rb
@@ -166,6 +197,8 @@ files:
166
197
  - lib/appnexusapi/brand_service.rb
167
198
  - lib/appnexusapi/browser_resource.rb
168
199
  - lib/appnexusapi/browser_service.rb
200
+ - lib/appnexusapi/campaign_resource.rb
201
+ - lib/appnexusapi/campaign_service.rb
169
202
  - lib/appnexusapi/category_resource.rb
170
203
  - lib/appnexusapi/category_service.rb
171
204
  - lib/appnexusapi/connection.rb
@@ -202,12 +235,22 @@ files:
202
235
  - lib/appnexusapi/operating_system_extended_service.rb
203
236
  - lib/appnexusapi/operating_system_resource.rb
204
237
  - lib/appnexusapi/operating_system_service.rb
238
+ - lib/appnexusapi/payment_rule_resource.rb
239
+ - lib/appnexusapi/payment_rule_service.rb
240
+ - lib/appnexusapi/placement_resource.rb
241
+ - lib/appnexusapi/placement_service.rb
205
242
  - lib/appnexusapi/platform_member_resource.rb
206
243
  - lib/appnexusapi/platform_member_service.rb
244
+ - lib/appnexusapi/profile_resource.rb
245
+ - lib/appnexusapi/profile_service.rb
246
+ - lib/appnexusapi/publisher_resource.rb
247
+ - lib/appnexusapi/publisher_service.rb
207
248
  - lib/appnexusapi/resource.rb
208
249
  - lib/appnexusapi/segment_resource.rb
209
250
  - lib/appnexusapi/segment_service.rb
210
251
  - lib/appnexusapi/service.rb
252
+ - lib/appnexusapi/site_resource.rb
253
+ - lib/appnexusapi/site_service.rb
211
254
  - lib/appnexusapi/technical_attribute_resource.rb
212
255
  - lib/appnexusapi/technical_attribute_service.rb
213
256
  - lib/appnexusapi/tiny_tag_resource.rb
@@ -217,8 +260,39 @@ files:
217
260
  - lib/appnexusapi/version.rb
218
261
  - spec/connection_spec.rb
219
262
  - spec/creative_service_spec.rb
263
+ - spec/fixtures/vcr/advertiser_get.yml
264
+ - spec/fixtures/vcr/campaign_life_cycle.yml
265
+ - spec/fixtures/vcr/content_category_crud.yml
266
+ - spec/fixtures/vcr/creative_service_create.yml
267
+ - spec/fixtures/vcr/creative_service_delete.yml
268
+ - spec/fixtures/vcr/creative_service_get.yml
269
+ - spec/fixtures/vcr/creative_service_update.yml
270
+ - spec/fixtures/vcr/domain_list_limits.yml
271
+ - spec/fixtures/vcr/line_item_life_cycle.yml
272
+ - spec/fixtures/vcr/member_get.yml
273
+ - spec/fixtures/vcr/object_limit_info.yml
274
+ - spec/fixtures/vcr/payment_rule_lifecycle.yml
275
+ - spec/fixtures/vcr/placement_service_default_placement.yml
276
+ - spec/fixtures/vcr/profile_life_cycle.yml
277
+ - spec/fixtures/vcr/profile_limits.yml
278
+ - spec/fixtures/vcr/publisher_crud.yml
279
+ - spec/fixtures/vcr/site_lifecycle.yml
280
+ - spec/fixtures/vcr/user_login.yml
281
+ - spec/fixtures/vcr/user_update.yml
282
+ - spec/integration/advertiser_spec.rb
283
+ - spec/integration/campaign_spec.rb
284
+ - spec/integration/content_category_spec.rb
285
+ - spec/integration/line_item_spec.rb
286
+ - spec/integration/member_spec.rb
287
+ - spec/integration/payment_rule_spec.rb
288
+ - spec/integration/placement_spec.rb
289
+ - spec/integration/profile_spec.rb
290
+ - spec/integration/publisher_spec.rb
291
+ - spec/integration/site_spec.rb
292
+ - spec/integration/user_spec.rb
220
293
  - spec/object_limit_service_spec.rb
221
294
  - spec/spec_helper.rb
295
+ - spec/support/shared_contexts.rb
222
296
  homepage: https://github.com/simplifi/appnexusapi
223
297
  licenses: []
224
298
  metadata: {}
@@ -238,12 +312,44 @@ required_rubygems_version: !ruby/object:Gem::Requirement
238
312
  version: '0'
239
313
  requirements: []
240
314
  rubyforge_project:
241
- rubygems_version: 2.2.5
315
+ rubygems_version: 2.2.3
242
316
  signing_key:
243
317
  specification_version: 4
244
318
  summary: Unofficial Ruby API Wrapper for Appnexus
245
319
  test_files:
246
320
  - spec/connection_spec.rb
247
321
  - spec/creative_service_spec.rb
322
+ - spec/fixtures/vcr/advertiser_get.yml
323
+ - spec/fixtures/vcr/campaign_life_cycle.yml
324
+ - spec/fixtures/vcr/content_category_crud.yml
325
+ - spec/fixtures/vcr/creative_service_create.yml
326
+ - spec/fixtures/vcr/creative_service_delete.yml
327
+ - spec/fixtures/vcr/creative_service_get.yml
328
+ - spec/fixtures/vcr/creative_service_update.yml
329
+ - spec/fixtures/vcr/domain_list_limits.yml
330
+ - spec/fixtures/vcr/line_item_life_cycle.yml
331
+ - spec/fixtures/vcr/member_get.yml
332
+ - spec/fixtures/vcr/object_limit_info.yml
333
+ - spec/fixtures/vcr/payment_rule_lifecycle.yml
334
+ - spec/fixtures/vcr/placement_service_default_placement.yml
335
+ - spec/fixtures/vcr/profile_life_cycle.yml
336
+ - spec/fixtures/vcr/profile_limits.yml
337
+ - spec/fixtures/vcr/publisher_crud.yml
338
+ - spec/fixtures/vcr/site_lifecycle.yml
339
+ - spec/fixtures/vcr/user_login.yml
340
+ - spec/fixtures/vcr/user_update.yml
341
+ - spec/integration/advertiser_spec.rb
342
+ - spec/integration/campaign_spec.rb
343
+ - spec/integration/content_category_spec.rb
344
+ - spec/integration/line_item_spec.rb
345
+ - spec/integration/member_spec.rb
346
+ - spec/integration/payment_rule_spec.rb
347
+ - spec/integration/placement_spec.rb
348
+ - spec/integration/profile_spec.rb
349
+ - spec/integration/publisher_spec.rb
350
+ - spec/integration/site_spec.rb
351
+ - spec/integration/user_spec.rb
248
352
  - spec/object_limit_service_spec.rb
249
353
  - spec/spec_helper.rb
354
+ - spec/support/shared_contexts.rb
355
+ has_rdoc: