agent_cooper 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. data/.gitignore +1 -1
  2. data/README.md +13 -4
  3. data/Rakefile +0 -3
  4. data/agent_cooper.gemspec +12 -13
  5. data/features/finder.feature +4 -6
  6. data/features/merchandiser.feature +1 -2
  7. data/features/shopper.feature +2 -2
  8. data/features/support/env.rb +5 -5
  9. data/features/support/vcr.rb +10 -0
  10. data/lib/agent_cooper.rb +17 -4
  11. data/lib/agent_cooper/config.rb +3 -9
  12. data/lib/agent_cooper/nokogiri_decorator.rb +47 -0
  13. data/lib/agent_cooper/request.rb +36 -13
  14. data/lib/agent_cooper/requests/finder.rb +25 -0
  15. data/lib/agent_cooper/requests/merchandiser.rb +25 -0
  16. data/lib/agent_cooper/requests/shopper.rb +23 -0
  17. data/lib/agent_cooper/response.rb +3 -4
  18. data/lib/agent_cooper/synchrony.rb +34 -0
  19. data/lib/agent_cooper/version.rb +1 -1
  20. data/spec/agent_cooper/request_spec.rb +91 -6
  21. data/spec/agent_cooper/requests/finder_spec.rb +13 -0
  22. data/spec/agent_cooper/requests/merchandiser_spec.rb +13 -0
  23. data/spec/agent_cooper/requests/shopper_spec.rb +13 -0
  24. data/spec/agent_cooper/response_spec.rb +51 -1
  25. data/spec/agent_cooper_spec.rb +12 -0
  26. data/spec/fixtures/cassettes/finder/find_items_advanced/d49218a9522a4a055e31fc6b88c3a2b5.yml +528 -0
  27. data/spec/fixtures/cassettes/finder/find_items_by_category/85e07de9993e68d09e895f1b01234c5a.yml +463 -0
  28. data/spec/fixtures/cassettes/finder/find_items_by_keywords/91d7d9b4b62b82877604465a20f9ffa9.yml +668 -0
  29. data/spec/fixtures/cassettes/finder/find_items_by_product/59ee1391b6dfc2a93e30c8911942fc71.yml +744 -0
  30. data/spec/fixtures/cassettes/finder/find_items_in_ebay_stores/c7d658804b6353fda03809c21b183af2.yml +472 -0
  31. data/spec/fixtures/cassettes/finder/get_histograms/80bd04d96cd529af4148866a2d28f079.yml +46 -0
  32. data/spec/fixtures/cassettes/finder/get_search_keywords_recommendation/ec96bf3af091373de08550ff46f86c87.yml +41 -0
  33. data/spec/fixtures/cassettes/merchandiser/get_most_watched_items/3c0cb6fb7bb94b384cae15be175e9640.yml +51 -0
  34. data/spec/fixtures/cassettes/merchandiser/get_related_category_items/c949e90fb2bd975020df657a4348328d.yml +41 -0
  35. data/spec/fixtures/cassettes/merchandiser/get_similar_items/56c2c41a60135db83d359053778a065f.yml +41 -0
  36. data/spec/fixtures/cassettes/merchandiser/get_top_selling_products/a82dcb1f094754e54f2a5de191818c3f.yml +53 -0
  37. data/spec/fixtures/cassettes/shopper/find_half_products/77ad8a2ade8e4efadef07346677e43a9.yml +55 -0
  38. data/spec/fixtures/cassettes/shopper/find_popular_items/532fcb32fee187bdc6cc5fb7e4336992.yml +258 -0
  39. data/spec/fixtures/cassettes/shopper/find_popular_searches/6db9b375ea610e870e7a4ca4e20974ec.yml +45 -0
  40. data/spec/fixtures/cassettes/shopper/find_products/3fd6d6000037cd409ab1ef18a6075257.yml +52 -0
  41. data/spec/fixtures/cassettes/shopper/find_reviews_and_guides/8586a984e122cb84136d3cc0bb8bec77.yml +174 -0
  42. data/spec/fixtures/cassettes/shopper/get_item_status/f34cf10c602f9fec7a388297888b4299.yml +45 -0
  43. data/spec/fixtures/cassettes/shopper/get_multiple_items/c1183c23add6cad9afbb73f986c2692e.yml +46 -0
  44. data/spec/fixtures/cassettes/shopper/get_shipping_costs/e7de18031f266637414155639797c097.yml +45 -0
  45. data/spec/fixtures/cassettes/shopper/get_single_item/d4a895de6b214907c47a0b32ab630b9a.yml +44 -0
  46. data/spec/fixtures/cassettes/shopper/get_user_profile/dccabbf426bfeba4d898ca546e17dd4b.yml +47 -0
  47. data/spec/{support → fixtures}/ebay.yml.sample +0 -0
  48. data/spec/spec_helper.rb +4 -0
  49. metadata +141 -177
  50. data/lib/agent_cooper/finder.rb +0 -21
  51. data/lib/agent_cooper/merchandiser.rb +0 -24
  52. data/lib/agent_cooper/shopper.rb +0 -22
  53. data/spec/agent_cooper/config_spec.rb +0 -21
  54. data/spec/agent_cooper/finder_spec.rb +0 -19
  55. data/spec/agent_cooper/merchandiser_spec.rb +0 -18
  56. data/spec/agent_cooper/shopper_spec.rb +0 -18
@@ -1,21 +0,0 @@
1
- module AgentCooper
2
- class Finder < Request
3
-
4
- VERSION = '1.9.0'
5
-
6
- base_uri 'svcs.ebay.com'
7
- default_params 'SECURITY-VERSION' => VERSION,
8
- 'RESPONSE-DATA-FORMAT' => ENCODING,
9
- 'REST-PAYLOAD' => ''
10
-
11
- protected
12
-
13
- def credentials
14
- { 'SECURITY-APPNAME' => Config.app_id }
15
- end
16
-
17
- def path
18
- '/services/search/FindingService/v1'
19
- end
20
- end
21
- end
@@ -1,24 +0,0 @@
1
- module AgentCooper
2
- class Merchandiser < Request
3
-
4
- SERVICE_NAME = 'MerchandisingService'
5
- VERSION = '1.4.0'
6
-
7
- base_uri 'svcs.ebay.com'
8
- default_params 'CONSUMER-ID' => Config.app_id,
9
- 'SERVICE-NAME' => SERVICE_NAME,
10
- 'SERVICE-VERSION' => VERSION,
11
- 'RESPONSE-DATA-FORMAT' => ENCODING,
12
- 'REST-PAYLOAD' => ''
13
-
14
- protected
15
-
16
- def credentials
17
- { 'CONSUMER-ID' => Config.app_id }
18
- end
19
-
20
- def path
21
- '/MerchandisingService'
22
- end
23
- end
24
- end
@@ -1,22 +0,0 @@
1
- module AgentCooper
2
- class Shopper < Request
3
-
4
- VERSION = '717'
5
-
6
- base_uri 'open.api.ebay.com'
7
- default_params 'APPID' => Config.app_id,
8
- 'RESPONSEENCODING' => ENCODING,
9
- 'VERSION' => VERSION,
10
- 'SITEID' => 0
11
-
12
- protected
13
-
14
- def credentials
15
- { 'APPID' => Config.app_id }
16
- end
17
-
18
- def path
19
- '/shopping'
20
- end
21
- end
22
- end
@@ -1,21 +0,0 @@
1
- require 'spec_helper'
2
-
3
- module AgentCooper
4
- describe Config do
5
- subject { Config }
6
-
7
- describe ".app_id=" do
8
- it "sets a value for @@app_id" do
9
- subject.app_id = "12345"
10
- subject.class_variables.should include("@@app_id")
11
- end
12
- end
13
-
14
- describe ".app_id" do
15
- it "returns @@app_id value" do
16
- subject.app_id = "6789"
17
- subject.app_id.should == "6789"
18
- end
19
- end
20
- end
21
- end
@@ -1,19 +0,0 @@
1
- require 'spec_helper'
2
-
3
- module AgentCooper
4
- describe Finder do
5
- subject { Finder }
6
- let(:request) { subject.new }
7
-
8
- before(:all) do
9
- Request::APP_ID = 'app_id'
10
- end
11
-
12
- describe "#get" do
13
- it "returns a response object" do
14
- request.get.should be_a(Response)
15
- end
16
- end
17
- end
18
-
19
- end
@@ -1,18 +0,0 @@
1
- require 'spec_helper'
2
-
3
- module AgentCooper
4
- describe Merchandiser do
5
- subject { Merchandiser }
6
- let(:request) { subject.new }
7
-
8
- before(:all) do
9
- Request::APP_ID = 'app_id'
10
- end
11
-
12
- describe "#get" do
13
- it "returns a response object" do
14
- request.get.should be_a(Response)
15
- end
16
- end
17
- end
18
- end
@@ -1,18 +0,0 @@
1
- require 'spec_helper'
2
-
3
- module AgentCooper
4
- describe Shopper do
5
- subject { AgentCooper::Shopper }
6
- let(:request) { subject.new }
7
-
8
- before(:all) do
9
- Request::APP_ID = 'app_id'
10
- end
11
-
12
- describe "#get" do
13
- it "returns a response object" do
14
- request.get.should be_a(Response)
15
- end
16
- end
17
- end
18
- end