etsy 0.2.7 → 0.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c0417646d0a3bad8aac70e2fe86cf6904fd5803b
4
- data.tar.gz: ce49ace0289086a486b2e1a0185232bb444653cb
3
+ metadata.gz: 63b1728090ce087c6421fdb354545b5031206bdd
4
+ data.tar.gz: 720fd11d6f39fe99e5f414e54155db73c2bedce3
5
5
  SHA512:
6
- metadata.gz: 41647ccad160295f3fd4143db22264b3f051c45b7d9254ceabcc8ae65ae130d571a3eae7f2500752fedbcb408d1b05e51e0966ba0f4643091ff211f384c4726d
7
- data.tar.gz: a9d658cc135a7acdb17b55a086b3c65fdf378afb538c7fc7a4b97f2996d9369604f5dd7b78d95706c248e76649459b8b25b1422d7b3066df100dacdac65b5e6d
6
+ metadata.gz: 2c7a7b67c5bb186cecfe0a61000dd6b2a6258d5e4bd915c67672e40d949af76d7c083bfd54ec7e96c7d0396665562c389deafd3a1422ca21e6a4553a47a1f5aa
7
+ data.tar.gz: 60c5ad5ef28a7f5104ffcbb9e6df25f292ab31292725e9a45dddfe8fe62a93ac22ce1d0ea22d18c98db91e37b7d66e4bbc676ad6d7f422a339b86b878edc7eb7
@@ -26,6 +26,7 @@ require 'etsy/country'
26
26
  require 'etsy/shipping_template'
27
27
  require 'etsy/section'
28
28
  require 'etsy/favorite_listing'
29
+ require 'etsy/receipt'
29
30
 
30
31
  # = Etsy: A friendly Ruby interface to the Etsy API
31
32
  #
@@ -0,0 +1,24 @@
1
+ module Etsy
2
+ class Receipt
3
+ include Model
4
+
5
+ attribute :id, :from => :receipt_id
6
+ attribute :buyer_id, :from => :buyer_user_id
7
+
8
+ attributes :quantity, :listing_id, :name, :first_line, :second_line, :city, :state, :zip, :country_id,
9
+ :payment_email, :buyer_email, :created_tsz
10
+
11
+ def self.find_all_by_shop_id(shop_id, options = {})
12
+ get_all("/shops/#{shop_id}/receipts", options)
13
+ end
14
+
15
+ def created_at
16
+ Time.at(created_tsz)
17
+ end
18
+
19
+ def buyer
20
+ @buyer ||= User.find(buyer_id)
21
+ end
22
+
23
+ end
24
+ end
@@ -1,3 +1,3 @@
1
1
  module Etsy
2
- VERSION = "0.2.7"
2
+ VERSION = "0.3.0"
3
3
  end
@@ -0,0 +1,28 @@
1
+ {
2
+ "count":1,
3
+ "results":
4
+ [
5
+ {
6
+ "receipt_id":27230877,
7
+ "buyer_user_id":12345,
8
+ "created_tsz":1412206858,
9
+ "quantity":5,
10
+ "listing_id":123456,
11
+ "name":"Mike Taylor",
12
+ "first_line":"123 Fun St",
13
+ "second_line":"#3b",
14
+ "city":"San Francisco",
15
+ "state":"CA",
16
+ "zip":"94501",
17
+ "country_id":201,
18
+ "payment_email":"foo@example.com",
19
+ "buyer_email":"bar@example.com"
20
+ }
21
+ ],
22
+ "params": {
23
+ "shop_id":"5818087",
24
+ "limit":25,
25
+ "offset":0
26
+ },
27
+ "type":"Receipt"
28
+ }
@@ -0,0 +1,92 @@
1
+ require File.expand_path('../../../test_helper', __FILE__)
2
+
3
+ module Etsy
4
+ class ReceiptTest < Test::Unit::TestCase
5
+
6
+ context "The Receipt class" do
7
+
8
+ should "be able to find receipts for a shop" do
9
+ receipts = mock_request('/shops/1/receipts', {'key' => 'value'}, 'Receipt', 'findAllShopReceipts.json')
10
+ Receipt.find_all_by_shop_id(1, {'key' => 'value'}).should == receipts
11
+ end
12
+
13
+ end
14
+
15
+ context "An instance of the Receipt class" do
16
+
17
+ context "with response data" do
18
+ setup do
19
+ data = read_fixture('receipt/findAllShopReceipts.json')
20
+ @receipt = Receipt.new(data.first)
21
+ end
22
+
23
+ should "have a value for :id" do
24
+ @receipt.id.should == 27230877
25
+ end
26
+
27
+ should "have :buyer_id" do
28
+ @receipt.buyer_id.should == 12345
29
+ end
30
+
31
+ should "have :created_at" do
32
+ @receipt.created_at.should == Time.at(1412206858)
33
+ end
34
+
35
+ should "have a value for :quantity" do
36
+ @receipt.quantity.should == 5
37
+ end
38
+
39
+ should "have a value for :listing_id" do
40
+ @receipt.listing_id.should == 123456
41
+ end
42
+
43
+ should "have a value for name" do
44
+ @receipt.name.should == "Mike Taylor"
45
+ end
46
+
47
+ should "have a value for first_line" do
48
+ @receipt.first_line.should == "123 Fun St"
49
+ end
50
+
51
+ should "have a value for second_line" do
52
+ @receipt.second_line.should == "#3b"
53
+ end
54
+
55
+ should "have a value for city" do
56
+ @receipt.city.should == "San Francisco"
57
+ end
58
+
59
+ should "have a value for state" do
60
+ @receipt.state.should == "CA"
61
+ end
62
+
63
+ should "have a value for zip" do
64
+ @receipt.zip.should == "94501"
65
+ end
66
+
67
+ should "have a value for country_id" do
68
+ @receipt.country_id.should == 201
69
+ end
70
+
71
+ should "have a value for payment_email" do
72
+ @receipt.payment_email.should == "foo@example.com"
73
+ end
74
+
75
+ should "have a value for buyer_email" do
76
+ @receipt.buyer_email.should == "bar@example.com"
77
+ end
78
+ end
79
+
80
+ should "know the buyer" do
81
+ User.stubs(:find).with(1).returns('user')
82
+
83
+ receipt = Receipt.new
84
+ receipt.stubs(:buyer_id).with().returns(1)
85
+
86
+ receipt.buyer.should == 'user'
87
+ end
88
+
89
+ end
90
+
91
+ end
92
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: etsy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.7
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patrick Reagan
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-06-29 00:00:00.000000000 Z
12
+ date: 2014-10-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json
@@ -135,6 +135,7 @@ files:
135
135
  - lib/etsy/model.rb
136
136
  - lib/etsy/payment_template.rb
137
137
  - lib/etsy/profile.rb
138
+ - lib/etsy/receipt.rb
138
139
  - lib/etsy/request.rb
139
140
  - lib/etsy/response.rb
140
141
  - lib/etsy/section.rb
@@ -161,6 +162,7 @@ files:
161
162
  - test/fixtures/listing/getListing.single.json
162
163
  - test/fixtures/payment_template/getPaymentTemplate.json
163
164
  - test/fixtures/profile/new.json
165
+ - test/fixtures/receipt/findAllShopReceipts.json
164
166
  - test/fixtures/section/getShopSection.json
165
167
  - test/fixtures/shipping_template/getShippingTemplate.json
166
168
  - test/fixtures/shop/findAllShop.json
@@ -184,6 +186,7 @@ files:
184
186
  - test/unit/etsy/model_test.rb
185
187
  - test/unit/etsy/payment_template_test.rb
186
188
  - test/unit/etsy/profile_test.rb
189
+ - test/unit/etsy/receipt_test.rb
187
190
  - test/unit/etsy/request_test.rb
188
191
  - test/unit/etsy/response_test.rb
189
192
  - test/unit/etsy/section_test.rb
@@ -235,6 +238,7 @@ test_files:
235
238
  - test/fixtures/listing/getListing.single.json
236
239
  - test/fixtures/payment_template/getPaymentTemplate.json
237
240
  - test/fixtures/profile/new.json
241
+ - test/fixtures/receipt/findAllShopReceipts.json
238
242
  - test/fixtures/section/getShopSection.json
239
243
  - test/fixtures/shipping_template/getShippingTemplate.json
240
244
  - test/fixtures/shop/findAllShop.json
@@ -258,6 +262,7 @@ test_files:
258
262
  - test/unit/etsy/model_test.rb
259
263
  - test/unit/etsy/payment_template_test.rb
260
264
  - test/unit/etsy/profile_test.rb
265
+ - test/unit/etsy/receipt_test.rb
261
266
  - test/unit/etsy/request_test.rb
262
267
  - test/unit/etsy/response_test.rb
263
268
  - test/unit/etsy/section_test.rb