ebayr 0.0.5 → 0.0.6

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c6a8d014c48da465ef9813378975e782f1b64728
4
- data.tar.gz: 1bcc92d6f405c47d8935a036f32a1023640a2aa6
3
+ metadata.gz: afa1185390ffef499568df9d81b663eaa29fc575
4
+ data.tar.gz: 052ea275ccca3ec5f5deb3de93b4a062b3625f6b
5
5
  SHA512:
6
- metadata.gz: 35164d75bf6bcd6fc85e6d8754086bad689333df0489e9d613300f5fe7bda8cb8eaa72afcf0806db6fb8cc9762a645a8ae98dc53aa6e151d24f50f1cc1825aec
7
- data.tar.gz: 7d92802f8b38331c70196e349c75b9f794533ba8451c4b58eba94fd37d4bb56d59a069a272e193546ae70ad4ea314dbccf4e1e305d2436b12992e6b301cded75
6
+ metadata.gz: 91ceaa2c8fbc72b45dcf0b50c6f262541a311369179a10b977399f9fbe6751d47a60e5fe00e7f1e7004b4fa442a507fffbd90e4a34096249aa9cd7f7d609cc86
7
+ data.tar.gz: 830b446c010af348f4e36734b179aaa3139228c22b322c377da18f3cdc84ef2b67afe4e2cc71fa5d30568bfef67da9b00608cb63526cff68a84645aa9b60574c
data/README.md CHANGED
@@ -64,10 +64,10 @@ Ebayr.call(:GetOrders, :auth_token => "another-ebay-auth-token")
64
64
  Ebayr will look for the following Ruby files, and load them *once* in order (if
65
65
  they exist) when the module is evaluated:
66
66
 
67
- 1. /etc/ebayrc.conf
68
- 2. /usr/local/etc/ebayrc.conf
69
- 3. ~/.ebayrc.conf
70
- 4. ./.ebayrc.conf
67
+ 1. /etc/ebayr.conf
68
+ 2. /usr/local/etc/ebayr.conf
69
+ 3. ~/.ebayr.conf
70
+ 4. ./.ebayr.conf
71
71
 
72
72
  You can put configuration code in there (such as the variable setting shown
73
73
  above). The files should be plain old Ruby.
@@ -84,23 +84,44 @@ repository.
84
84
  When running test, you generally won't want to use up your API call-limit too
85
85
  quickly, so it makes sense to stub out calls to the eBay API.
86
86
 
87
- Ebayr has a small test helper library to help with this. It uses [Fakeweb][2]
88
- for this, and just requires that you wrap your test code in a block, like this:
87
+ Ebayr test use [Fakeweb][2] to mimic the responses from eBay.
89
88
 
90
89
  ```ruby
91
- require 'ebayr/test_helper'
90
+ require 'ebayr'
91
+ require 'test/unit'
92
+ require 'fakeweb'
93
+
92
94
  class MyTest < Test::Unit::TestCase
93
- include Ebayr::TestHelper
95
+ def setup
96
+ Ebayr.sandbox = true
97
+ end
94
98
 
95
99
  # A very contrived example...
96
- def test_fetching_user_id
97
- stub_ebay_call!(:GetUser, :UserID => "joebloggs") do
98
- assert_equal("joebloggs", Ebayr.call(:GetUser)['UserID'])
99
- end
100
+ def test_get_ebay_time
101
+ xml = <<-XML
102
+ <GeteBayOfficialTimeResponse>
103
+ <Ack>Success</Ack>
104
+ <Timestamp>blah</Timestamp>
105
+ </GeteBayOfficialTimeResponse>
106
+ XML
107
+
108
+ FakeWeb.register_uri(:post, Ebayr.uri, :body => xml)
109
+
110
+ time = SomeWrapperThatUsesEbayr.get_ebay_time
111
+ assert_equal 'blah', time
112
+ end
113
+ end
114
+
115
+ class SomeWrapperThatUsesEbayr
116
+ def self.get_ebay_time
117
+ hash = Ebayr.call(:GeteBayOfficialTime)
118
+ hash.timestamp
100
119
  end
101
120
  end
102
121
  ```
103
122
 
123
+ See ['./test/ebayr_test.rb'](test/ebayr_test.rb) for more examples.
124
+
104
125
  You need to remember to include Fakeweb in your Gemfile, or Ebayr will complain.
105
126
 
106
127
  ## Contributing
data/ebayr.gemspec CHANGED
@@ -3,22 +3,22 @@ lib = File.expand_path('../lib', __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |gem|
6
- gem.authors = ["Bryan JJ Buckley"]
7
- gem.email = ["jjbuckley@gmail.org"]
8
- gem.description = "A tidy library for using the eBay Trading API with Ruby"
9
- gem.summary = <<-DESCRIPTION
6
+ gem.authors = ['JJ Buckley', 'Eric McKenna']
7
+ gem.email = ["jj@bjjb.org"]
8
+ gem.summary = "A tidy library for using the eBay Trading API with Ruby"
9
+ gem.description = <<-DESCRIPTION
10
10
  eBayR is a gem that makes it (relatively) easy to use the eBay Trading API from
11
11
  Ruby. Includes a self-contained XML parser, a flexible callback system, and a
12
12
  command-line client which aids integration into other projects.
13
13
  DESCRIPTION
14
- gem.homepage = "http://bjjb.github.com/ebayr"
14
+ gem.homepage = "http://github.com/bjjb/ebayr"
15
15
 
16
16
  gem.files = `git ls-files`.split($\)
17
17
  gem.executables = gem.files.grep(%r{^bin/}).map { |f| File.basename(f) }
18
18
  gem.test_files = gem.files.grep(%r{^test/})
19
19
  gem.name = "ebayr"
20
20
  gem.require_paths = ["lib"]
21
- gem.version = "0.0.5"
21
+ gem.version = "0.0.6"
22
22
  if RUBY_VERSION < "1.9"
23
23
  gem.add_dependency 'activesupport', '~> 3.2'
24
24
  gem.add_development_dependency 'minitest'
data/lib/ebayr/record.rb CHANGED
@@ -25,6 +25,10 @@ module Ebayr
25
25
  super(key, value)
26
26
  end
27
27
 
28
+ def has_key?(key)
29
+ super(convert_key(key))
30
+ end
31
+
28
32
  protected
29
33
  def convert_key(k)
30
34
  self.class.convert_key(k)
data/lib/ebayr/request.rb CHANGED
@@ -15,6 +15,7 @@ module Ebayr #:nodoc:
15
15
  @auth_token = (options.delete(:auth_token) || self.auth_token).to_s
16
16
  @site_id = (options.delete(:site_id) || self.site_id).to_s
17
17
  @compatability_level = (options.delete(:compatability_level) || self.compatability_level).to_s
18
+ @http_timeout = (options.delete(:http_timeout) || 60).to_i
18
19
  # Remaining options are converted and used as input to the call
19
20
  @input = self.class.serialize_input(options)
20
21
  end
@@ -54,6 +55,7 @@ module Ebayr #:nodoc:
54
55
  # Ebayr::Response
55
56
  def send
56
57
  http = Net::HTTP.new(@uri.host, @uri.port)
58
+ http.read_timeout = @http_timeout
57
59
 
58
60
  if @uri.port == 443
59
61
  http.use_ssl = true
data/lib/ebayr.rb CHANGED
@@ -70,7 +70,7 @@ module Ebayr
70
70
  # eBay Trading API version to use. For more details, see
71
71
  # http://developer.ebay.com/devzone/xml/docs/HowTo/eBayWS/eBaySchemaVersioning.html
72
72
  mattr_accessor :compatability_level
73
- self.compatability_level = 745
73
+ self.compatability_level = 837
74
74
 
75
75
  mattr_accessor :logger
76
76
  self.logger = Logger.new(STDOUT)
@@ -17,5 +17,16 @@ module Ebayr
17
17
  assert_equal 1, record.foo.bars[0].value
18
18
  assert_equal 2, record.foo.bars[1].value
19
19
  end
20
+
21
+ def test_has_key_is_available
22
+ str_key = "Bar"
23
+ sym_key = :sym_bar
24
+ record = Record.new({ str_key => "Baz", sym_key => "Foo"})
25
+
26
+ assert_respond_to record, :has_key?
27
+ assert record.has_key?(sym_key), "Record does not have symbol '#{sym_key}'."
28
+ assert record.has_key?(str_key), "Record does not have '#{str_key}'."
29
+
30
+ end
20
31
  end
21
32
  end
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ebayr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
- - Bryan JJ Buckley
7
+ - JJ Buckley
8
+ - Eric McKenna
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-11-08 00:00:00.000000000 Z
12
+ date: 2013-11-09 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: activesupport
@@ -52,9 +53,12 @@ dependencies:
52
53
  - - '>='
53
54
  - !ruby/object:Gem::Version
54
55
  version: '0'
55
- description: A tidy library for using the eBay Trading API with Ruby
56
+ description: |
57
+ eBayR is a gem that makes it (relatively) easy to use the eBay Trading API from
58
+ Ruby. Includes a self-contained XML parser, a flexible callback system, and a
59
+ command-line client which aids integration into other projects.
56
60
  email:
57
- - jjbuckley@gmail.org
61
+ - jj@bjjb.org
58
62
  executables: []
59
63
  extensions: []
60
64
  extra_rdoc_files: []
@@ -78,7 +82,7 @@ files:
78
82
  - test/ebayr/response_test.rb
79
83
  - test/ebayr_test.rb
80
84
  - test/test_helper.rb
81
- homepage: http://bjjb.github.com/ebayr
85
+ homepage: http://github.com/bjjb/ebayr
82
86
  licenses: []
83
87
  metadata: {}
84
88
  post_install_message:
@@ -100,9 +104,7 @@ rubyforge_project:
100
104
  rubygems_version: 2.0.3
101
105
  signing_key:
102
106
  specification_version: 4
103
- summary: eBayR is a gem that makes it (relatively) easy to use the eBay Trading API
104
- from Ruby. Includes a self-contained XML parser, a flexible callback system, and
105
- a command-line client which aids integration into other projects.
107
+ summary: A tidy library for using the eBay Trading API with Ruby
106
108
  test_files:
107
109
  - test/ebayr/record_test.rb
108
110
  - test/ebayr/request_test.rb