appnexusapi 0.1.3 → 1.0.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.
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: