etsy 0.1.0 → 0.2.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.
- data/README.rdoc +102 -19
- data/Rakefile +5 -5
- data/lib/etsy.rb +104 -26
- data/lib/etsy/basic_client.rb +26 -0
- data/lib/etsy/image.rb +19 -16
- data/lib/etsy/listing.rb +30 -27
- data/lib/etsy/model.rb +12 -49
- data/lib/etsy/request.rb +41 -18
- data/lib/etsy/response.rb +17 -11
- data/lib/etsy/secure_client.rb +79 -0
- data/lib/etsy/shop.rb +42 -18
- data/lib/etsy/user.rb +39 -34
- data/lib/etsy/verification_request.rb +17 -0
- data/lib/etsy/version.rb +4 -4
- data/test/fixtures/image/findAllListingImages.json +102 -0
- data/test/fixtures/listing/findAllShopListingsActive.json +69 -0
- data/test/fixtures/shop/findAllShop.json +1 -0
- data/test/fixtures/shop/findAllShop.single.json +1 -0
- data/test/fixtures/shop/getShop.multiple.json +1 -0
- data/test/fixtures/shop/getShop.single.json +32 -0
- data/test/fixtures/user/getUser.multiple.json +29 -0
- data/test/fixtures/user/getUser.single.json +13 -0
- data/test/fixtures/user/getUser.single.private.json +18 -0
- data/test/test_helper.rb +27 -42
- data/test/unit/etsy/basic_client_test.rb +28 -0
- data/test/unit/etsy/image_test.rb +36 -15
- data/test/unit/etsy/listing_test.rb +84 -66
- data/test/unit/etsy/request_test.rb +121 -39
- data/test/unit/etsy/response_test.rb +20 -20
- data/test/unit/etsy/secure_client_test.rb +110 -0
- data/test/unit/etsy/shop_test.rb +74 -40
- data/test/unit/etsy/user_test.rb +65 -61
- data/test/unit/etsy/verification_request_test.rb +26 -0
- data/test/unit/etsy_test.rb +91 -10
- metadata +61 -17
- data/test/fixtures/getShopDetails.json +0 -70
- data/test/fixtures/getShopListings.json +0 -135
- data/test/fixtures/getUserDetails.json +0 -34
data/test/unit/etsy/shop_test.rb
CHANGED
@@ -1,59 +1,93 @@
|
|
1
|
-
require File.
|
1
|
+
require File.expand_path('../../../test_helper', __FILE__)
|
2
2
|
|
3
3
|
module Etsy
|
4
4
|
class ShopTest < Test::Unit::TestCase
|
5
5
|
|
6
|
-
|
6
|
+
context "The Shop class" do
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
|
8
|
+
should "be able to find a single shop" do
|
9
|
+
shops = mock_request('/shops/littletjane', {}, 'Shop', 'getShop.single.json')
|
10
|
+
Shop.find('littletjane').should == shops.first
|
11
|
+
end
|
12
|
+
|
13
|
+
should "be able to find multiple shops" do
|
14
|
+
shops = mock_request('/shops/littletjane,reagent', {}, 'Shop', 'getShop.multiple.json')
|
15
|
+
Shop.find('littletjane', 'reagent').should == shops
|
16
|
+
end
|
11
17
|
|
12
|
-
|
18
|
+
should "be able to find all shops" do
|
19
|
+
shops = mock_request('/shops', {}, 'Shop', 'findAllShop.json')
|
20
|
+
Shop.all.should == shops
|
21
|
+
end
|
22
|
+
|
23
|
+
should "return an array of shops if there is only 1 result returned" do
|
24
|
+
shops = mock_request('/shops', {}, 'Shop', 'findAllShop.single.json')
|
25
|
+
Shop.all.should == shops
|
26
|
+
end
|
13
27
|
|
14
|
-
|
28
|
+
should "allow a configurable limit when finding all shops" do
|
29
|
+
shops = mock_request('/shops', {:limit => 100}, 'Shop', 'findAllShop.json')
|
30
|
+
Shop.all(:limit => 100).should == shops
|
15
31
|
end
|
16
32
|
|
17
33
|
end
|
18
34
|
|
19
|
-
|
35
|
+
context "An instance of the Shop class" do
|
20
36
|
|
21
|
-
|
37
|
+
context "with response data" do
|
38
|
+
setup do
|
39
|
+
data = read_fixture('shop/getShop.single.json')
|
40
|
+
@shop = Shop.new(data.first)
|
41
|
+
end
|
22
42
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
43
|
+
should "have a value for :id" do
|
44
|
+
@shop.id.should == 5500349
|
45
|
+
end
|
46
|
+
|
47
|
+
should "have a value for :user_id" do
|
48
|
+
@shop.user_id.should == 5327518
|
49
|
+
end
|
50
|
+
|
51
|
+
should "have a value for :image_url" do
|
52
|
+
@shop.image_url.should == "http://ny-image2.etsy.com/iusb_760x100.7358402.jpg"
|
53
|
+
end
|
54
|
+
|
55
|
+
should "have a value for :active_listings_count" do
|
56
|
+
@shop.active_listings_count.should == 0
|
57
|
+
end
|
58
|
+
|
59
|
+
should "have a value for :updated_at" do
|
60
|
+
@shop.updated_at.should == Time.at(1274923984)
|
61
|
+
end
|
62
|
+
|
63
|
+
should "have a value for :created_at" do
|
64
|
+
@shop.created_at.should == Time.at(1237430331)
|
65
|
+
end
|
66
|
+
|
67
|
+
should "have a value for :name" do
|
68
|
+
@shop.name.should == "littletjane"
|
69
|
+
end
|
70
|
+
|
71
|
+
should "have a value for :title" do
|
72
|
+
@shop.title.should == "a cute and crafty mix of handmade goods."
|
73
|
+
end
|
74
|
+
|
75
|
+
should "have a value for :message" do
|
76
|
+
@shop.message.should == "thanks!"
|
77
|
+
end
|
78
|
+
|
79
|
+
should "have a value for :announcement" do
|
80
|
+
@shop.announcement.should == "announcement"
|
81
|
+
end
|
32
82
|
|
33
83
|
end
|
34
|
-
|
35
|
-
|
36
|
-
shop = Shop.new
|
37
|
-
shop.stubs(:created).with().returns(1237430331.15)
|
38
|
-
|
39
|
-
shop.created_at.should == Time.at(1237430331.15)
|
40
|
-
end
|
41
|
-
|
42
|
-
it "should know the update date" do
|
43
|
-
shop = Shop.new
|
44
|
-
shop.stubs(:updated).with().returns(1239717723.36)
|
45
|
-
|
46
|
-
shop.updated_at.should == Time.at(1239717723.36)
|
47
|
-
end
|
48
|
-
|
49
|
-
it "should have a collection of listings" do
|
50
|
-
user_id = 123
|
51
|
-
|
84
|
+
|
85
|
+
should "have a collection of listings" do
|
52
86
|
shop = Shop.new
|
53
|
-
shop.
|
54
|
-
|
55
|
-
Listing.
|
56
|
-
|
87
|
+
shop.stubs(:id).with().returns(1)
|
88
|
+
|
89
|
+
Listing.stubs(:find_all_by_shop_id).with(1).returns('listings')
|
90
|
+
|
57
91
|
shop.listings.should == 'listings'
|
58
92
|
end
|
59
93
|
|
data/test/unit/etsy/user_test.rb
CHANGED
@@ -1,75 +1,79 @@
|
|
1
|
-
require File.
|
1
|
+
require File.expand_path('../../../test_helper', __FILE__)
|
2
2
|
|
3
3
|
module Etsy
|
4
4
|
class UserTest < Test::Unit::TestCase
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
User.expects(:new).with(response.result).returns('user')
|
12
|
-
User.find_by_username('littletjane').should == 'user'
|
13
|
-
end
|
14
|
-
|
15
|
-
end
|
16
|
-
|
17
|
-
describe "An instance of the User class" do
|
18
|
-
|
19
|
-
when_populating User, :from => 'getUserDetails' do
|
20
|
-
|
21
|
-
value_for :username, :is => 'littletjane'
|
22
|
-
value_for :id, :is => 5327518
|
23
|
-
value_for :url, :is => 'http://www.etsy.com/shop.php?user_id=5327518'
|
24
|
-
value_for :joined, :is => 1191381757.93
|
25
|
-
value_for :city, :is => 'Washington, DC'
|
26
|
-
value_for :gender, :is => 'female'
|
27
|
-
value_for :seller, :is => true
|
28
|
-
value_for :last_login, :is => 1239797927.39
|
29
|
-
value_for :bio, :is => 'hello!'
|
30
|
-
|
6
|
+
context "The User class" do
|
7
|
+
|
8
|
+
should "be able to find a single user" do
|
9
|
+
users = mock_request('/users/littletjane', {}, 'User', 'getUser.single.json')
|
10
|
+
User.find('littletjane').should == users.first
|
31
11
|
end
|
32
12
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
user.seller?.should be(true)
|
13
|
+
should "be able to find multiple users" do
|
14
|
+
users = mock_request('/users/littletjane,reagent', {}, 'User', 'getUser.multiple.json')
|
15
|
+
User.find('littletjane', 'reagent').should == users
|
37
16
|
end
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
user.joined_at.should == Time.at(1191381757.93)
|
17
|
+
|
18
|
+
should "be able to find the current logged in user" do
|
19
|
+
oauth_keys = {:access_token => 'token', :access_secret => 'secret'}
|
20
|
+
users = mock_request('/users/__SELF__', oauth_keys, 'User', 'getUser.single.json')
|
21
|
+
User.myself('token', 'secret').should == users.first
|
44
22
|
end
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
23
|
+
end
|
24
|
+
|
25
|
+
context "An instance of the User class" do
|
26
|
+
|
27
|
+
context "with public response data" do
|
28
|
+
setup do
|
29
|
+
data = read_fixture('user/getUser.single.json')
|
30
|
+
@user = User.new(data.first)
|
31
|
+
end
|
32
|
+
|
33
|
+
should "have an ID" do
|
34
|
+
@user.id.should == 5327518
|
35
|
+
end
|
36
|
+
|
37
|
+
should "have a :username" do
|
38
|
+
@user.username.should == 'littletjane'
|
39
|
+
end
|
40
|
+
|
41
|
+
should "have a value for :created" do
|
42
|
+
@user.created.should == 1191381578
|
43
|
+
end
|
44
|
+
|
45
|
+
should "not have an email address" do
|
46
|
+
@user.email.should be_nil
|
47
|
+
end
|
51
48
|
end
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
user.shop.should == shop
|
49
|
+
|
50
|
+
context "with private response data" do
|
51
|
+
setup do
|
52
|
+
data = read_fixture('user/getUser.single.private.json')
|
53
|
+
@user = User.new(data.first)
|
54
|
+
end
|
55
|
+
|
56
|
+
should "have an email address" do
|
57
|
+
@user.email.should == 'reaganpr@gmail.com'
|
58
|
+
end
|
63
59
|
end
|
64
|
-
|
65
|
-
|
60
|
+
|
61
|
+
should "know when the user was created" do
|
66
62
|
user = User.new
|
67
|
-
user.
|
68
|
-
|
69
|
-
user.
|
63
|
+
user.stubs(:created).returns(1)
|
64
|
+
|
65
|
+
user.created_at.should == Time.at(1)
|
70
66
|
end
|
71
|
-
|
72
67
|
end
|
73
|
-
|
68
|
+
|
69
|
+
should "know the shop for a user" do
|
70
|
+
user = User.new
|
71
|
+
user.stubs(:username).with().returns('username')
|
72
|
+
|
73
|
+
Shop.stubs(:find).with('username').returns('shop')
|
74
|
+
|
75
|
+
user.shop.should == 'shop'
|
76
|
+
end
|
77
|
+
|
74
78
|
end
|
75
|
-
end
|
79
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require File.expand_path('../../../test_helper', __FILE__)
|
2
|
+
|
3
|
+
module Etsy
|
4
|
+
class VerificationRequestTest < Test::Unit::TestCase
|
5
|
+
|
6
|
+
context "An instance of the VerificationRequest class" do
|
7
|
+
setup { @request = VerificationRequest.new }
|
8
|
+
|
9
|
+
should "have a client" do
|
10
|
+
SecureClient.stubs(:new).returns('client')
|
11
|
+
@request.client.should == 'client'
|
12
|
+
end
|
13
|
+
|
14
|
+
should "know the url" do
|
15
|
+
client = stub()
|
16
|
+
client.stubs(:request_token).returns(stub(:authorize_url => 'http://www.etsy.com?foo=bar', :secret => 'secret'))
|
17
|
+
|
18
|
+
@request.stubs(:client).returns(client)
|
19
|
+
|
20
|
+
@request.url.should == 'http://www.etsy.com?foo=bar&oauth_consumer_key=secret'
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
end
|
data/test/unit/etsy_test.rb
CHANGED
@@ -1,21 +1,102 @@
|
|
1
|
-
require File.
|
1
|
+
require File.expand_path('../../test_helper', __FILE__)
|
2
2
|
|
3
3
|
class EtsyTest < Test::Unit::TestCase
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
context "The Etsy module" do
|
6
|
+
setup do
|
7
|
+
Etsy.instance_variable_set(:@environment, nil)
|
8
|
+
Etsy.instance_variable_set(:@access_mode, nil)
|
9
|
+
Etsy.instance_variable_set(:@callback_url, nil)
|
10
|
+
Etsy.instance_variable_set(:@api_key, nil)
|
11
|
+
Etsy.instance_variable_set(:@api_secret, nil)
|
12
|
+
end
|
13
|
+
|
14
|
+
should "be able to set and retrieve the API key" do
|
8
15
|
Etsy.api_key = 'key'
|
9
16
|
Etsy.api_key.should == 'key'
|
10
17
|
end
|
11
|
-
|
12
|
-
|
18
|
+
|
19
|
+
should "be able to find a user by username" do
|
13
20
|
user = stub()
|
14
|
-
|
15
|
-
Etsy::User.expects(:
|
21
|
+
|
22
|
+
Etsy::User.expects(:find).with('littletjane').returns(user)
|
16
23
|
Etsy.user('littletjane').should == user
|
17
24
|
end
|
18
|
-
|
25
|
+
|
26
|
+
should "use the sandbox environment by default" do
|
27
|
+
Etsy.environment.should == :sandbox
|
28
|
+
end
|
29
|
+
|
30
|
+
should "be able to set the environment to a valid value" do
|
31
|
+
Etsy.environment = :production
|
32
|
+
Etsy.environment.should == :production
|
33
|
+
end
|
34
|
+
|
35
|
+
should "raise an exception when attempting to set an invalid environment" do
|
36
|
+
lambda { Etsy.environment = :invalid }.should raise_error(ArgumentError)
|
37
|
+
end
|
38
|
+
|
39
|
+
should "be able to set and retrieve the API secret" do
|
40
|
+
Etsy.api_secret = 'secret'
|
41
|
+
Etsy.api_secret.should == 'secret'
|
42
|
+
end
|
43
|
+
|
44
|
+
should "be in read-mode by default" do
|
45
|
+
Etsy.access_mode.should == :read_only
|
46
|
+
end
|
47
|
+
|
48
|
+
should "be able to set the access mode to a read-write" do
|
49
|
+
Etsy.access_mode = :read_write
|
50
|
+
Etsy.access_mode.should == :read_write
|
51
|
+
end
|
52
|
+
|
53
|
+
should "raise an exception when attempting to set an invalid access mode" do
|
54
|
+
lambda { Etsy.access_mode = :invalid }.should raise_error(ArgumentError)
|
55
|
+
end
|
56
|
+
|
57
|
+
should "be able to set the callback url" do
|
58
|
+
Etsy.callback_url = 'http://localhost'
|
59
|
+
Etsy.callback_url.should == 'http://localhost'
|
60
|
+
end
|
61
|
+
|
62
|
+
should "default callback to out-of-band" do
|
63
|
+
Etsy.callback_url.should == 'oob'
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
context "The Etsy module when set up properly" do
|
68
|
+
setup do
|
69
|
+
Etsy.instance_variable_set(:@environment, :sandbox)
|
70
|
+
Etsy.instance_variable_set(:@access_mode, :read_write)
|
71
|
+
Etsy.instance_variable_set(:@api_key, 'key')
|
72
|
+
Etsy.instance_variable_set(:@api_secret, 'secret')
|
73
|
+
Etsy.instance_variable_set(:@verification_request, nil)
|
74
|
+
end
|
75
|
+
|
76
|
+
should "provide a request token" do
|
77
|
+
request = stub(:request_token => 'token')
|
78
|
+
Etsy::VerificationRequest.stubs(:new).returns(request)
|
79
|
+
|
80
|
+
Etsy.request_token.should == 'token'
|
81
|
+
end
|
82
|
+
|
83
|
+
should "be able to generate an access token" do
|
84
|
+
Etsy::SecureClient.stubs(:new).with({
|
85
|
+
:request_token => 'toke',
|
86
|
+
:request_secret => 'secret',
|
87
|
+
:verifier => 'verifier'
|
88
|
+
}).returns(stub(:client => 'token'))
|
89
|
+
|
90
|
+
Etsy.access_token('toke', 'secret', 'verifier').should == 'token'
|
91
|
+
end
|
92
|
+
|
93
|
+
should "provide a verification URL" do
|
94
|
+
request = stub(:url => 'url')
|
95
|
+
Etsy::VerificationRequest.stubs(:new).returns(request)
|
96
|
+
|
97
|
+
Etsy.verification_url.should == 'url'
|
98
|
+
end
|
99
|
+
|
19
100
|
end
|
20
101
|
|
21
|
-
end
|
102
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: etsy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 23
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 2
|
9
|
+
- 0
|
10
|
+
version: 0.2.0
|
5
11
|
platform: ruby
|
6
12
|
authors:
|
7
13
|
- Patrick Reagan
|
@@ -9,19 +15,41 @@ autorequire:
|
|
9
15
|
bindir: bin
|
10
16
|
cert_chain: []
|
11
17
|
|
12
|
-
date:
|
18
|
+
date: 2010-11-11 00:00:00 -07:00
|
13
19
|
default_executable:
|
14
20
|
dependencies:
|
15
21
|
- !ruby/object:Gem::Dependency
|
16
22
|
name: json
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 7
|
30
|
+
segments:
|
31
|
+
- 1
|
32
|
+
- 4
|
33
|
+
- 0
|
34
|
+
version: 1.4.0
|
17
35
|
type: :runtime
|
18
|
-
|
19
|
-
|
36
|
+
version_requirements: *id001
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: oauth
|
39
|
+
prerelease: false
|
40
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
20
42
|
requirements:
|
21
43
|
- - ~>
|
22
44
|
- !ruby/object:Gem::Version
|
23
|
-
|
24
|
-
|
45
|
+
hash: 15
|
46
|
+
segments:
|
47
|
+
- 0
|
48
|
+
- 4
|
49
|
+
- 0
|
50
|
+
version: 0.4.0
|
51
|
+
type: :runtime
|
52
|
+
version_requirements: *id002
|
25
53
|
description:
|
26
54
|
email: reaganpr@gmail.com
|
27
55
|
executables: []
|
@@ -33,32 +61,42 @@ extra_rdoc_files:
|
|
33
61
|
files:
|
34
62
|
- README.rdoc
|
35
63
|
- Rakefile
|
36
|
-
- lib/etsy
|
64
|
+
- lib/etsy/basic_client.rb
|
37
65
|
- lib/etsy/image.rb
|
38
66
|
- lib/etsy/listing.rb
|
39
67
|
- lib/etsy/model.rb
|
40
68
|
- lib/etsy/request.rb
|
41
69
|
- lib/etsy/response.rb
|
70
|
+
- lib/etsy/secure_client.rb
|
42
71
|
- lib/etsy/shop.rb
|
43
72
|
- lib/etsy/user.rb
|
73
|
+
- lib/etsy/verification_request.rb
|
44
74
|
- lib/etsy/version.rb
|
45
75
|
- lib/etsy.rb
|
46
|
-
- test/fixtures
|
47
|
-
- test/fixtures/
|
48
|
-
- test/fixtures/
|
49
|
-
- test/fixtures/
|
76
|
+
- test/fixtures/image/findAllListingImages.json
|
77
|
+
- test/fixtures/listing/findAllShopListingsActive.json
|
78
|
+
- test/fixtures/shop/findAllShop.json
|
79
|
+
- test/fixtures/shop/findAllShop.single.json
|
80
|
+
- test/fixtures/shop/getShop.multiple.json
|
81
|
+
- test/fixtures/shop/getShop.single.json
|
82
|
+
- test/fixtures/user/getUser.multiple.json
|
83
|
+
- test/fixtures/user/getUser.single.json
|
84
|
+
- test/fixtures/user/getUser.single.private.json
|
50
85
|
- test/test_helper.rb
|
51
|
-
- test/unit
|
52
|
-
- test/unit/etsy
|
86
|
+
- test/unit/etsy/basic_client_test.rb
|
53
87
|
- test/unit/etsy/image_test.rb
|
54
88
|
- test/unit/etsy/listing_test.rb
|
55
89
|
- test/unit/etsy/request_test.rb
|
56
90
|
- test/unit/etsy/response_test.rb
|
91
|
+
- test/unit/etsy/secure_client_test.rb
|
57
92
|
- test/unit/etsy/shop_test.rb
|
58
93
|
- test/unit/etsy/user_test.rb
|
94
|
+
- test/unit/etsy/verification_request_test.rb
|
59
95
|
- test/unit/etsy_test.rb
|
60
96
|
has_rdoc: true
|
61
97
|
homepage: http://sneaq.net
|
98
|
+
licenses: []
|
99
|
+
|
62
100
|
post_install_message:
|
63
101
|
rdoc_options:
|
64
102
|
- --main
|
@@ -66,23 +104,29 @@ rdoc_options:
|
|
66
104
|
require_paths:
|
67
105
|
- lib
|
68
106
|
required_ruby_version: !ruby/object:Gem::Requirement
|
107
|
+
none: false
|
69
108
|
requirements:
|
70
109
|
- - ">="
|
71
110
|
- !ruby/object:Gem::Version
|
111
|
+
hash: 3
|
112
|
+
segments:
|
113
|
+
- 0
|
72
114
|
version: "0"
|
73
|
-
version:
|
74
115
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
116
|
+
none: false
|
75
117
|
requirements:
|
76
118
|
- - ">="
|
77
119
|
- !ruby/object:Gem::Version
|
120
|
+
hash: 3
|
121
|
+
segments:
|
122
|
+
- 0
|
78
123
|
version: "0"
|
79
|
-
version:
|
80
124
|
requirements: []
|
81
125
|
|
82
126
|
rubyforge_project:
|
83
|
-
rubygems_version: 1.3.
|
127
|
+
rubygems_version: 1.3.7
|
84
128
|
signing_key:
|
85
|
-
specification_version:
|
129
|
+
specification_version: 3
|
86
130
|
summary: Provides a friendly ruby-like interface to the Etsy API
|
87
131
|
test_files: []
|
88
132
|
|