etsy 0.2.5 → 0.2.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 3d8467d59605302ecbe6fa8a5c2c78fae8435b2b
4
+ data.tar.gz: 9f78e9dd4514d505d5738b19ebc9724184ce6259
5
+ SHA512:
6
+ metadata.gz: 80ab0008d0d4087c40b5045a9a38c46a50a4232b6d37e6062e162143641aad1893fc3ce1340f0e3825dabbcfc576312697f3600fd660331039bc1c001cb5418a
7
+ data.tar.gz: f7e5fd820fe67797cb8c180ad5f91d58672d9fa7ccbe05cf5766480cfada9c72579dc4637b574badb099999ec9c49f03d736b4891472a01cbc75f9a9dad31fc4
data/README.md CHANGED
@@ -31,7 +31,6 @@ It will likely work with higher versions, but this is unproven.
31
31
  The Etsy API has two modes: public, and authenticated. Public mode only requires an
32
32
  API key (available from http://developer.etsy.com ):
33
33
 
34
- require 'rubygems'
35
34
  require 'etsy'
36
35
 
37
36
  Etsy.api_key = 'foobar'
data/Rakefile CHANGED
@@ -8,5 +8,5 @@ task :default => :test
8
8
  Rake::TestTask.new do |t|
9
9
  t.libs << 'test'
10
10
  t.test_files = FileList["test/**/*_test.rb"]
11
- t.verbose = true
11
+ t.verbose = false
12
12
  end
data/lib/etsy.rb CHANGED
@@ -105,7 +105,7 @@ module Etsy
105
105
  end
106
106
 
107
107
  def self.protocol
108
- @protocol || "http"
108
+ @protocol || "https"
109
109
  end
110
110
 
111
111
  # The currently configured environment.
data/lib/etsy/response.rb CHANGED
@@ -4,6 +4,8 @@ module Etsy
4
4
  class MissingShopID < StandardError; end
5
5
  class EtsyJSONInvalid < StandardError; end
6
6
  class TemporaryIssue < StandardError; end
7
+ class ResourceUnavailable < TemporaryIssue; end
8
+ class ExceededRateLimit < TemporaryIssue; end
7
9
  class InvalidUserID < StandardError; end
8
10
 
9
11
  # = Response
@@ -77,7 +79,9 @@ module Etsy
77
79
  raise OAuthTokenRevoked if token_revoked?
78
80
  raise MissingShopID if missing_shop_id?
79
81
  raise InvalidUserID if invalid_user_id?
80
- raise TemporaryIssue if temporary_etsy_issue? || resource_unavailable? || exceeded_rate_limit?
82
+ raise TemporaryIssue if temporary_etsy_issue?
83
+ raise ResourceUnavailable if resource_unavailable?
84
+ raise ExceededRateLimit if exceeded_rate_limit?
81
85
  raise EtsyJSONInvalid.new("CODE: #{code}, BODY: #{data}") unless valid_json?
82
86
  true
83
87
  end
data/lib/etsy/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Etsy
2
- VERSION = "0.2.5"
2
+ VERSION = "0.2.6"
3
3
  end
@@ -7,6 +7,7 @@ module Etsy
7
7
 
8
8
  should "be able to construct a client" do
9
9
  Etsy.stubs(:host).returns 'example.com'
10
+ Etsy.stubs(:protocol).returns 'http'
10
11
  client = BasicClient.new
11
12
  Net::HTTP.stubs(:new).with('example.com', 80).returns('client')
12
13
 
@@ -114,18 +114,22 @@ module Etsy
114
114
  r = Response.new(raw_response)
115
115
 
116
116
  lambda { r.to_hash }.should raise_error(Etsy::TemporaryIssue)
117
+ end
117
118
 
119
+ should "raise ResourceUnavailable" do
118
120
  raw_response = mock
119
121
  raw_response.stubs(:body => "something Resource temporarily unavailable something")
120
122
  r = Response.new(raw_response)
121
123
 
122
- lambda { r.to_hash }.should raise_error(Etsy::TemporaryIssue)
124
+ lambda { r.to_hash }.should raise_error(Etsy::ResourceUnavailable)
125
+ end
123
126
 
127
+ should "raise ExceededRateLimit" do
124
128
  raw_response = mock
125
129
  raw_response.stubs(:body => "something You have exceeded your API limit something")
126
130
  r = Response.new(raw_response)
127
131
 
128
- lambda { r.to_hash }.should raise_error(Etsy::TemporaryIssue)
132
+ lambda { r.to_hash }.should raise_error(Etsy::ExceededRateLimit)
129
133
  end
130
134
 
131
135
  should "provide the code" do
@@ -13,7 +13,7 @@ module Etsy
13
13
  Etsy.stubs(:permission_scopes).returns(['scope_one', 'scope_two'])
14
14
 
15
15
  OAuth::Consumer.stubs(:new).with('key', 'secret', {
16
- :site => 'http://sandbox',
16
+ :site => 'https://sandbox',
17
17
  :request_token_path => '/v2/oauth/request_token?scope=scope_one+scope_two',
18
18
  :access_token_path => '/v2/oauth/access_token',
19
19
  }).returns('consumer')
@@ -31,7 +31,7 @@ module Etsy
31
31
  Etsy.stubs(:permission_scopes).returns(['scope_one', 'scope_two'])
32
32
 
33
33
  OAuth::Consumer.stubs(:new).with('key', 'secret', {
34
- :site => 'http://production',
34
+ :site => 'https://production',
35
35
  :request_token_path => '/v2/oauth/request_token?scope=scope_one+scope_two',
36
36
  :access_token_path => '/v2/oauth/access_token',
37
37
  }).returns('consumer')
@@ -4,6 +4,7 @@ class EtsyTest < Test::Unit::TestCase
4
4
 
5
5
  context "The Etsy module" do
6
6
  setup do
7
+ Etsy.instance_variable_set(:@protocol, nil)
7
8
  Etsy.instance_variable_set(:@environment, nil)
8
9
  Etsy.instance_variable_set(:@access_mode, nil)
9
10
  Etsy.instance_variable_set(:@callback_url, nil)
@@ -25,6 +26,19 @@ class EtsyTest < Test::Unit::TestCase
25
26
  Etsy.user('littletjane').should == user
26
27
  end
27
28
 
29
+ should "use the https protocol by default" do
30
+ Etsy.protocol.should == "https"
31
+ end
32
+
33
+ should "be able to set the protocol to a valid value" do
34
+ Etsy.protocol = 'http'
35
+ Etsy.protocol.should == 'http'
36
+ end
37
+
38
+ should "raise an exception when attempting to set an invalid protocol" do
39
+ lambda { Etsy.protocol = :invalid }.should raise_error(ArgumentError)
40
+ end
41
+
28
42
  should "use the sandbox environment by default" do
29
43
  Etsy.environment.should == :sandbox
30
44
  end
@@ -78,6 +92,7 @@ class EtsyTest < Test::Unit::TestCase
78
92
 
79
93
  context "The Etsy module when set up properly" do
80
94
  setup do
95
+ Etsy.instance_variable_set(:@protocol, 'https')
81
96
  Etsy.instance_variable_set(:@environment, :sandbox)
82
97
  Etsy.instance_variable_set(:@access_mode, :read_write)
83
98
  Etsy.instance_variable_set(:@api_key, 'key')
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: etsy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
5
- prerelease:
4
+ version: 0.2.6
6
5
  platform: ruby
7
6
  authors:
8
7
  - Patrick Reagan
@@ -10,108 +9,95 @@ authors:
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2013-11-14 00:00:00.000000000 Z
12
+ date: 2014-02-27 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: json
17
16
  requirement: !ruby/object:Gem::Requirement
18
- none: false
19
17
  requirements:
20
- - - ! '>='
18
+ - - ">="
21
19
  - !ruby/object:Gem::Version
22
20
  version: 1.5.0
23
21
  type: :runtime
24
22
  prerelease: false
25
23
  version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
24
  requirements:
28
- - - ! '>='
25
+ - - ">="
29
26
  - !ruby/object:Gem::Version
30
27
  version: 1.5.0
31
28
  - !ruby/object:Gem::Dependency
32
29
  name: oauth
33
30
  requirement: !ruby/object:Gem::Requirement
34
- none: false
35
31
  requirements:
36
- - - ~>
32
+ - - "~>"
37
33
  - !ruby/object:Gem::Version
38
34
  version: 0.4.0
39
35
  type: :runtime
40
36
  prerelease: false
41
37
  version_requirements: !ruby/object:Gem::Requirement
42
- none: false
43
38
  requirements:
44
- - - ~>
39
+ - - "~>"
45
40
  - !ruby/object:Gem::Version
46
41
  version: 0.4.0
47
42
  - !ruby/object:Gem::Dependency
48
43
  name: rake
49
44
  requirement: !ruby/object:Gem::Requirement
50
- none: false
51
45
  requirements:
52
- - - ~>
46
+ - - "~>"
53
47
  - !ruby/object:Gem::Version
54
48
  version: 10.0.4
55
49
  type: :development
56
50
  prerelease: false
57
51
  version_requirements: !ruby/object:Gem::Requirement
58
- none: false
59
52
  requirements:
60
- - - ~>
53
+ - - "~>"
61
54
  - !ruby/object:Gem::Version
62
55
  version: 10.0.4
63
56
  - !ruby/object:Gem::Dependency
64
57
  name: jnunemaker-matchy
65
58
  requirement: !ruby/object:Gem::Requirement
66
- none: false
67
59
  requirements:
68
- - - ~>
60
+ - - "~>"
69
61
  - !ruby/object:Gem::Version
70
62
  version: 0.4.0
71
63
  type: :development
72
64
  prerelease: false
73
65
  version_requirements: !ruby/object:Gem::Requirement
74
- none: false
75
66
  requirements:
76
- - - ~>
67
+ - - "~>"
77
68
  - !ruby/object:Gem::Version
78
69
  version: 0.4.0
79
70
  - !ruby/object:Gem::Dependency
80
71
  name: shoulda
81
72
  requirement: !ruby/object:Gem::Requirement
82
- none: false
83
73
  requirements:
84
- - - ~>
74
+ - - "~>"
85
75
  - !ruby/object:Gem::Version
86
76
  version: 3.4.0
87
77
  type: :development
88
78
  prerelease: false
89
79
  version_requirements: !ruby/object:Gem::Requirement
90
- none: false
91
80
  requirements:
92
- - - ~>
81
+ - - "~>"
93
82
  - !ruby/object:Gem::Version
94
83
  version: 3.4.0
95
84
  - !ruby/object:Gem::Dependency
96
85
  name: mocha
97
86
  requirement: !ruby/object:Gem::Requirement
98
- none: false
99
87
  requirements:
100
- - - ~>
88
+ - - "~>"
101
89
  - !ruby/object:Gem::Version
102
90
  version: 0.13.3
103
91
  type: :development
104
92
  prerelease: false
105
93
  version_requirements: !ruby/object:Gem::Requirement
106
- none: false
107
94
  requirements:
108
- - - ~>
95
+ - - "~>"
109
96
  - !ruby/object:Gem::Version
110
97
  version: 0.13.3
111
98
  - !ruby/object:Gem::Dependency
112
99
  name: minitest
113
100
  requirement: !ruby/object:Gem::Requirement
114
- none: false
115
101
  requirements:
116
102
  - - '='
117
103
  - !ruby/object:Gem::Version
@@ -119,7 +105,6 @@ dependencies:
119
105
  type: :development
120
106
  prerelease: false
121
107
  version_requirements: !ruby/object:Gem::Requirement
122
- none: false
123
108
  requirements:
124
109
  - - '='
125
110
  - !ruby/object:Gem::Version
@@ -132,8 +117,8 @@ executables: []
132
117
  extensions: []
133
118
  extra_rdoc_files: []
134
119
  files:
135
- - .gitignore
136
- - .travis.yml
120
+ - ".gitignore"
121
+ - ".travis.yml"
137
122
  - Gemfile
138
123
  - LICENSE
139
124
  - README.md
@@ -212,27 +197,26 @@ files:
212
197
  homepage: http://github.com/kytrinyx/etsy
213
198
  licenses:
214
199
  - MIT
200
+ metadata: {}
215
201
  post_install_message:
216
202
  rdoc_options: []
217
203
  require_paths:
218
204
  - lib
219
205
  required_ruby_version: !ruby/object:Gem::Requirement
220
- none: false
221
206
  requirements:
222
- - - ! '>='
207
+ - - ">="
223
208
  - !ruby/object:Gem::Version
224
209
  version: '0'
225
210
  required_rubygems_version: !ruby/object:Gem::Requirement
226
- none: false
227
211
  requirements:
228
- - - ! '>='
212
+ - - ">="
229
213
  - !ruby/object:Gem::Version
230
214
  version: '0'
231
215
  requirements: []
232
216
  rubyforge_project:
233
- rubygems_version: 1.8.23
217
+ rubygems_version: 2.2.0
234
218
  signing_key:
235
- specification_version: 3
219
+ specification_version: 4
236
220
  summary: Provides a friendly ruby-like wrapper for the Etsy API
237
221
  test_files:
238
222
  - test/fixtures/address/getUserAddresses.json
@@ -284,4 +268,3 @@ test_files:
284
268
  - test/unit/etsy/user_test.rb
285
269
  - test/unit/etsy/verification_request_test.rb
286
270
  - test/unit/etsy_test.rb
287
- has_rdoc: