etsy 0.3.3 → 0.3.4
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 +7 -0
- data/.travis.yml +8 -5
- data/CHANGELOG.md +16 -0
- data/Gemfile +0 -8
- data/README.md +2 -3
- data/etsy.gemspec +5 -5
- data/lib/etsy/image.rb +1 -0
- data/lib/etsy/listing.rb +9 -4
- data/lib/etsy/request.rb +5 -5
- data/lib/etsy/version.rb +1 -1
- data/test/fixtures/listing/findAllShopListings.json +5 -3
- data/test/test_helper.rb +0 -1
- data/test/unit/etsy/image_test.rb +4 -0
- data/test/unit/etsy/listing_test.rb +5 -2
- metadata +32 -47
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 52e5bcc56a9eb4df1e1b2e732f296d82034b8b8fee77e17a7d4c567d70e8741e
|
4
|
+
data.tar.gz: bde90f57588f337c92a0a97b4c4f1c98757e6e3eff4d0372dcb9bbcd4d7b8103
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: c974d38d7df6ee9be0df31072dc0cbadc59c762610b12039ad8132febea31273817c281dcd257e9b3334a3855677b8eb770df091caa58e77a5fb080214c0442b
|
7
|
+
data.tar.gz: 409997c87e75203d40037069af7deda3814954d33f88e3cc610c8976e7593fa9cad932fbe72025f79a82e1b4ea1a18b5c461ca1f782227d3479218c2e3ad9b1e
|
data/.travis.yml
CHANGED
@@ -1,13 +1,16 @@
|
|
1
1
|
language: ruby
|
2
2
|
rvm:
|
3
|
-
-
|
4
|
-
-
|
5
|
-
-
|
6
|
-
-
|
3
|
+
- jruby
|
4
|
+
- 2.6.8
|
5
|
+
- 2.7.4
|
6
|
+
- 3.0.2
|
7
|
+
|
8
|
+
dist: bionic
|
7
9
|
|
8
10
|
before_install:
|
9
11
|
- gem install bundler
|
12
|
+
- sudo apt-get update && sudo apt-get install apt-transport-https ca-certificates -y && sudo update-ca-certificates
|
10
13
|
|
11
14
|
matrix:
|
12
15
|
allow_failures:
|
13
|
-
- rvm:
|
16
|
+
- rvm: 3.0.2
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
All changes to the Etsy gem are documented here.
|
4
|
+
|
5
|
+
## [0.3.4] - November 3, 2021
|
6
|
+
|
7
|
+
Getting the gem back to life and ready to migrate to Etsy API v3.
|
8
|
+
|
9
|
+
### Added:
|
10
|
+
- States for listings as per current documentation (Etsy API v2)
|
11
|
+
- id attribute for Image class
|
12
|
+
- Change log file is here!
|
13
|
+
|
14
|
+
### Changed:
|
15
|
+
- Cleaned up the dependencies and updated old gems
|
16
|
+
- Updated ruby versions in Travis config
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
# Etsy
|
2
2
|
|
3
3
|
[](http://travis-ci.org/kytrinyx/etsy)
|
4
|
-
[](https://gemnasium.com/kytrinyx/etsy)
|
5
4
|
|
6
5
|
## Description
|
7
6
|
|
@@ -15,7 +14,7 @@ Installing the latest stable version is simple:
|
|
15
14
|
|
16
15
|
If you want to be on the bleeding edge, install from GitHub:
|
17
16
|
|
18
|
-
$ git clone git://github.com/
|
17
|
+
$ git clone git://github.com/iamfmjk/etsy.git
|
19
18
|
$ cd etsy
|
20
19
|
$ rake install
|
21
20
|
|
@@ -94,7 +93,7 @@ Authenticated calls can now be made by passing an access token and secret:
|
|
94
93
|
Etsy.myself(access.token, access.secret)
|
95
94
|
|
96
95
|
The key and secret have to be passed in for the authenticated calls.
|
97
|
-
|
96
|
+
|
98
97
|
auth = {:access_token=>access.token, :access_secret=>access.secret}
|
99
98
|
Etsy::Transaction.find_all_by_shop_id(shop_id, auth.merge(options))
|
100
99
|
|
data/etsy.gemspec
CHANGED
@@ -2,8 +2,8 @@
|
|
2
2
|
require File.expand_path('../lib/etsy/version', __FILE__)
|
3
3
|
|
4
4
|
Gem::Specification.new do |gem|
|
5
|
-
gem.authors = ["Patrick Reagan", "Katrina Owen"]
|
6
|
-
gem.email = ["reaganpr@gmail.com", "katrina.owen@gmail.com"]
|
5
|
+
gem.authors = ["Iuliia Kolomiiets", "Patrick Reagan", "Katrina Owen"]
|
6
|
+
gem.email = ["etsygeminfo@gmail.com, reaganpr@gmail.com", "katrina.owen@gmail.com" ]
|
7
7
|
gem.description = %q{A friendly Ruby interface to the Etsy API}
|
8
8
|
gem.summary = %q{Provides a friendly ruby-like wrapper for the Etsy API}
|
9
9
|
gem.homepage = "http://github.com/kytrinyx/etsy"
|
@@ -20,9 +20,9 @@ Gem::Specification.new do |gem|
|
|
20
20
|
gem.rubygems_version = "1.8.10"
|
21
21
|
|
22
22
|
gem.add_dependency "json", ">= 1.5.0"
|
23
|
-
gem.add_dependency "oauth", "
|
23
|
+
gem.add_dependency "oauth", ">= 0.5.5"
|
24
24
|
|
25
|
-
gem.add_development_dependency "rake", "~>
|
25
|
+
gem.add_development_dependency "rake", "~> 12.3.3"
|
26
26
|
gem.add_development_dependency "jnunemaker-matchy", "~> 0.4.0"
|
27
27
|
gem.add_development_dependency 'shoulda', "~> 3.4.0"
|
28
28
|
gem.add_development_dependency 'mocha', "~> 0.13.3"
|
@@ -30,5 +30,5 @@ Gem::Specification.new do |gem|
|
|
30
30
|
# on shoulda/context.rb:7
|
31
31
|
# But then when you load active_support, shoulda-context decides
|
32
32
|
# to load MiniTest
|
33
|
-
gem.add_development_dependency 'test-unit', "~>3.
|
33
|
+
gem.add_development_dependency 'test-unit', "~>3.5.0"
|
34
34
|
end
|
data/lib/etsy/image.rb
CHANGED
data/lib/etsy/listing.rb
CHANGED
@@ -26,14 +26,19 @@ module Etsy
|
|
26
26
|
# [removed?] Has this listing been removed?
|
27
27
|
# [sold_out?] Is this listing sold out?
|
28
28
|
# [expired?] Has this listing expired?
|
29
|
-
# [
|
29
|
+
# [edit?] Is this listing inactive?
|
30
|
+
# [draft?] Is this listing in draft mode / not yet published?
|
31
|
+
# [private?] Is this a private listing?
|
32
|
+
# [unavailable?] Has this listing been removed by Etsy admins?
|
33
|
+
|
30
34
|
#
|
31
35
|
class Listing
|
32
36
|
|
33
37
|
include Etsy::Model
|
34
38
|
|
35
|
-
STATES = %w(active removed sold_out expired
|
36
|
-
|
39
|
+
STATES = %w(active removed sold_out expired edit draft private unavailable)
|
40
|
+
#TODO: re-check valid states
|
41
|
+
VALID_STATES = [:active, :draft, :expired, :featured, :inactive, :sold, :sold_out]
|
37
42
|
|
38
43
|
attribute :id, :from => :listing_id
|
39
44
|
attribute :view_count, :from => :views
|
@@ -249,7 +254,7 @@ module Etsy
|
|
249
254
|
end
|
250
255
|
|
251
256
|
def is_supply
|
252
|
-
|
257
|
+
@result.fetch('is_supply') == 'true'
|
253
258
|
end
|
254
259
|
|
255
260
|
private
|
data/lib/etsy/request.rb
CHANGED
@@ -22,13 +22,13 @@ module Etsy
|
|
22
22
|
request = Request.new(resource_path, parameters)
|
23
23
|
Response.new(request.put)
|
24
24
|
end
|
25
|
-
|
25
|
+
|
26
26
|
def self.delete(resource_path, parameters = {})
|
27
27
|
request = Request.new(resource_path, parameters)
|
28
28
|
Response.new(request.delete)
|
29
29
|
end
|
30
|
-
|
31
|
-
|
30
|
+
|
31
|
+
|
32
32
|
|
33
33
|
# Create a new request for the resource with optional parameters
|
34
34
|
def initialize(resource_path, parameters = {})
|
@@ -75,7 +75,7 @@ module Etsy
|
|
75
75
|
def put
|
76
76
|
client.put(endpoint_url)
|
77
77
|
end
|
78
|
-
|
78
|
+
|
79
79
|
def delete
|
80
80
|
client.delete(endpoint_url)
|
81
81
|
end
|
@@ -104,7 +104,7 @@ module Etsy
|
|
104
104
|
k.nil? || v.nil? || (k.respond_to?(:empty?) && k.empty?) || (v.respond_to?(:empty?) && v.empty?)
|
105
105
|
}.map { |k, v| "#{to_url(k.to_s)}=#{to_url(v)}" }.join('&')
|
106
106
|
else
|
107
|
-
URI.
|
107
|
+
URI.encode_www_form_component(val.to_s)
|
108
108
|
end
|
109
109
|
end
|
110
110
|
|
data/lib/etsy/version.rb
CHANGED
@@ -23,7 +23,8 @@
|
|
23
23
|
"brightness": 100,
|
24
24
|
"is_black_and_white": false,
|
25
25
|
"url": "http://www.etsy.com/listing/59495892/initials-carved-into-tree-love-stamp",
|
26
|
-
"views": 37
|
26
|
+
"views": 37,
|
27
|
+
"is_supply": "false"
|
27
28
|
},
|
28
29
|
{
|
29
30
|
"listing_id": 59495804,
|
@@ -48,7 +49,8 @@
|
|
48
49
|
"brightness": 100,
|
49
50
|
"is_black_and_white": false,
|
50
51
|
"url": "http://www.etsy.com/listing/59495804/faux-bois-heart-hand-carved-stamp",
|
51
|
-
"views": 78
|
52
|
+
"views": 78,
|
53
|
+
"is_supply": "true"
|
52
54
|
}],
|
53
55
|
"params": {
|
54
56
|
"limit": "2",
|
@@ -66,4 +68,4 @@
|
|
66
68
|
"category": null
|
67
69
|
},
|
68
70
|
"type": "Listing"
|
69
|
-
}
|
71
|
+
}
|
data/test/test_helper.rb
CHANGED
@@ -28,6 +28,10 @@ module Etsy
|
|
28
28
|
@image = Image.new(data.first)
|
29
29
|
end
|
30
30
|
|
31
|
+
should "have a value for :id" do
|
32
|
+
@image.id.should == 185073072
|
33
|
+
end
|
34
|
+
|
31
35
|
should "have a value for :square" do
|
32
36
|
@image.square.should == "http://ny-image0.etsy.com/il_75x75.185073072.jpg"
|
33
37
|
end
|
@@ -78,7 +78,6 @@ module Etsy
|
|
78
78
|
Listing.stubs(:find).with([1, 2], {:other => :params}).returns(['listings'])
|
79
79
|
|
80
80
|
Listing.find_all_by_shop_id(1, :state => :sold, :other => :params).should == ['listings']
|
81
|
-
|
82
81
|
end
|
83
82
|
|
84
83
|
should "not ask the API for listings if there are no transactions" do
|
@@ -188,9 +187,13 @@ module Etsy
|
|
188
187
|
should "have a value for :black_and_white?" do
|
189
188
|
@listing.black_and_white?.should == false
|
190
189
|
end
|
190
|
+
|
191
|
+
should "have a value for :is_supply?" do
|
192
|
+
@listing.is_supply.should == false
|
193
|
+
end
|
191
194
|
end
|
192
195
|
|
193
|
-
%w(active removed sold_out expired
|
196
|
+
%w(active removed sold_out expired edit draft private unavailable).each do |state|
|
194
197
|
should "know that the listing is #{state}" do
|
195
198
|
listing = Listing.new
|
196
199
|
listing.expects(:state).with().returns(state.sub('_', ''))
|
metadata
CHANGED
@@ -1,139 +1,126 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: etsy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
5
|
-
prerelease:
|
4
|
+
version: 0.3.4
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
7
|
+
- Iuliia Kolomiiets
|
8
8
|
- Patrick Reagan
|
9
9
|
- Katrina Owen
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2021-11-04 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: json
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
|
-
none: false
|
19
18
|
requirements:
|
20
|
-
- -
|
19
|
+
- - ">="
|
21
20
|
- !ruby/object:Gem::Version
|
22
21
|
version: 1.5.0
|
23
22
|
type: :runtime
|
24
23
|
prerelease: false
|
25
24
|
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
none: false
|
27
25
|
requirements:
|
28
|
-
- -
|
26
|
+
- - ">="
|
29
27
|
- !ruby/object:Gem::Version
|
30
28
|
version: 1.5.0
|
31
29
|
- !ruby/object:Gem::Dependency
|
32
30
|
name: oauth
|
33
31
|
requirement: !ruby/object:Gem::Requirement
|
34
|
-
none: false
|
35
32
|
requirements:
|
36
|
-
- -
|
33
|
+
- - ">="
|
37
34
|
- !ruby/object:Gem::Version
|
38
|
-
version: 0.
|
35
|
+
version: 0.5.5
|
39
36
|
type: :runtime
|
40
37
|
prerelease: false
|
41
38
|
version_requirements: !ruby/object:Gem::Requirement
|
42
|
-
none: false
|
43
39
|
requirements:
|
44
|
-
- -
|
40
|
+
- - ">="
|
45
41
|
- !ruby/object:Gem::Version
|
46
|
-
version: 0.
|
42
|
+
version: 0.5.5
|
47
43
|
- !ruby/object:Gem::Dependency
|
48
44
|
name: rake
|
49
45
|
requirement: !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
46
|
requirements:
|
52
|
-
- - ~>
|
47
|
+
- - "~>"
|
53
48
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
49
|
+
version: 12.3.3
|
55
50
|
type: :development
|
56
51
|
prerelease: false
|
57
52
|
version_requirements: !ruby/object:Gem::Requirement
|
58
|
-
none: false
|
59
53
|
requirements:
|
60
|
-
- - ~>
|
54
|
+
- - "~>"
|
61
55
|
- !ruby/object:Gem::Version
|
62
|
-
version:
|
56
|
+
version: 12.3.3
|
63
57
|
- !ruby/object:Gem::Dependency
|
64
58
|
name: jnunemaker-matchy
|
65
59
|
requirement: !ruby/object:Gem::Requirement
|
66
|
-
none: false
|
67
60
|
requirements:
|
68
|
-
- - ~>
|
61
|
+
- - "~>"
|
69
62
|
- !ruby/object:Gem::Version
|
70
63
|
version: 0.4.0
|
71
64
|
type: :development
|
72
65
|
prerelease: false
|
73
66
|
version_requirements: !ruby/object:Gem::Requirement
|
74
|
-
none: false
|
75
67
|
requirements:
|
76
|
-
- - ~>
|
68
|
+
- - "~>"
|
77
69
|
- !ruby/object:Gem::Version
|
78
70
|
version: 0.4.0
|
79
71
|
- !ruby/object:Gem::Dependency
|
80
72
|
name: shoulda
|
81
73
|
requirement: !ruby/object:Gem::Requirement
|
82
|
-
none: false
|
83
74
|
requirements:
|
84
|
-
- - ~>
|
75
|
+
- - "~>"
|
85
76
|
- !ruby/object:Gem::Version
|
86
77
|
version: 3.4.0
|
87
78
|
type: :development
|
88
79
|
prerelease: false
|
89
80
|
version_requirements: !ruby/object:Gem::Requirement
|
90
|
-
none: false
|
91
81
|
requirements:
|
92
|
-
- - ~>
|
82
|
+
- - "~>"
|
93
83
|
- !ruby/object:Gem::Version
|
94
84
|
version: 3.4.0
|
95
85
|
- !ruby/object:Gem::Dependency
|
96
86
|
name: mocha
|
97
87
|
requirement: !ruby/object:Gem::Requirement
|
98
|
-
none: false
|
99
88
|
requirements:
|
100
|
-
- - ~>
|
89
|
+
- - "~>"
|
101
90
|
- !ruby/object:Gem::Version
|
102
91
|
version: 0.13.3
|
103
92
|
type: :development
|
104
93
|
prerelease: false
|
105
94
|
version_requirements: !ruby/object:Gem::Requirement
|
106
|
-
none: false
|
107
95
|
requirements:
|
108
|
-
- - ~>
|
96
|
+
- - "~>"
|
109
97
|
- !ruby/object:Gem::Version
|
110
98
|
version: 0.13.3
|
111
99
|
- !ruby/object:Gem::Dependency
|
112
100
|
name: test-unit
|
113
101
|
requirement: !ruby/object:Gem::Requirement
|
114
|
-
none: false
|
115
102
|
requirements:
|
116
|
-
- - ~>
|
103
|
+
- - "~>"
|
117
104
|
- !ruby/object:Gem::Version
|
118
|
-
version: 3.
|
105
|
+
version: 3.5.0
|
119
106
|
type: :development
|
120
107
|
prerelease: false
|
121
108
|
version_requirements: !ruby/object:Gem::Requirement
|
122
|
-
none: false
|
123
109
|
requirements:
|
124
|
-
- - ~>
|
110
|
+
- - "~>"
|
125
111
|
- !ruby/object:Gem::Version
|
126
|
-
version: 3.
|
112
|
+
version: 3.5.0
|
127
113
|
description: A friendly Ruby interface to the Etsy API
|
128
114
|
email:
|
129
|
-
- reaganpr@gmail.com
|
115
|
+
- etsygeminfo@gmail.com, reaganpr@gmail.com
|
130
116
|
- katrina.owen@gmail.com
|
131
117
|
executables: []
|
132
118
|
extensions: []
|
133
119
|
extra_rdoc_files: []
|
134
120
|
files:
|
135
|
-
- .gitignore
|
136
|
-
- .travis.yml
|
121
|
+
- ".gitignore"
|
122
|
+
- ".travis.yml"
|
123
|
+
- CHANGELOG.md
|
137
124
|
- Gemfile
|
138
125
|
- LICENSE
|
139
126
|
- README.md
|
@@ -235,27 +222,25 @@ files:
|
|
235
222
|
homepage: http://github.com/kytrinyx/etsy
|
236
223
|
licenses:
|
237
224
|
- MIT
|
225
|
+
metadata: {}
|
238
226
|
post_install_message:
|
239
227
|
rdoc_options: []
|
240
228
|
require_paths:
|
241
229
|
- lib
|
242
230
|
required_ruby_version: !ruby/object:Gem::Requirement
|
243
|
-
none: false
|
244
231
|
requirements:
|
245
|
-
- -
|
232
|
+
- - ">="
|
246
233
|
- !ruby/object:Gem::Version
|
247
234
|
version: '0'
|
248
235
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
249
|
-
none: false
|
250
236
|
requirements:
|
251
|
-
- -
|
237
|
+
- - ">="
|
252
238
|
- !ruby/object:Gem::Version
|
253
239
|
version: '0'
|
254
240
|
requirements: []
|
255
|
-
|
256
|
-
rubygems_version: 1.8.23
|
241
|
+
rubygems_version: 3.1.2
|
257
242
|
signing_key:
|
258
|
-
specification_version:
|
243
|
+
specification_version: 4
|
259
244
|
summary: Provides a friendly ruby-like wrapper for the Etsy API
|
260
245
|
test_files:
|
261
246
|
- test/fixtures/about/getAbout.json
|