webpay 2.0.3 → 2.1.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: ef4f5f3eee2ae39a2d17886fad71936960b2ef6e
4
- data.tar.gz: 0008216204339d22ffe67b068792c69b89f921cf
3
+ metadata.gz: 94949986ae1321c206e8ed52c60cff1e5aa64793
4
+ data.tar.gz: 85e23f1f7dbfbdf3a587623f9a94044821dba245
5
5
  SHA512:
6
- metadata.gz: 5ffca8da5481be4ffb948c4dd58e99d86e854984e735457769f7d3f697e36a9df2fd3b112c43938b956275f66a3351533ed059f3089a5323fea669aa79f6513d
7
- data.tar.gz: 826518c40f8ff23ec697e0913db2626366b93299226fc5762a8588911d8669d2c3e634f1502dec20db7ef9a31393536829fa79afcf3711bc3b343d04d577ee93
6
+ metadata.gz: f3cd0ab8ac01717d46a1981507aa280155c25bc0641c598ab197d75a7080e369d92b6156019e47b613f6876ad0b8ae6f63c47ef4908d9c207b81d5f3c1def526
7
+ data.tar.gz: 9087db1ba30fefd519af7834f900d892544666fc75bbc31c2feb387a77e7076507b737fe7f0d77ac7b9fa0f2bb37d300df04b5ef1819bede6b5b1912c1e35b0c
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # webpay-ruby
1
+ # webpay-ruby [![Build Status](https://travis-ci.org/webpay/webpay-ruby.png)](https://travis-ci.org/webpay/webpay-ruby)
2
2
 
3
3
  WebPay Ruby bindings https://webpay.jp
4
4
 
data/lib/webpay.rb CHANGED
@@ -13,6 +13,7 @@ module WebPay
13
13
  autoload(:InvalidRequestError, 'webpay/webpay_error')
14
14
  autoload(:Entity, 'webpay/entity')
15
15
  autoload(:EntityList, 'webpay/entity_list')
16
+ autoload(:DeletedEntity, 'webpay/deleted_entity')
16
17
  autoload(:Account, 'webpay/account')
17
18
  autoload(:Card, 'webpay/card')
18
19
  autoload(:Charge, 'webpay/charge')
@@ -2,7 +2,7 @@ module WebPay
2
2
 
3
3
  # Object for API response hash object with <code>hash['object'] = customer</code>
4
4
  class Customer < Entity
5
- install_class_operations :create, :retrieve, :all
5
+ install_class_operations :create, :all
6
6
 
7
7
  # Attributes updated by assignment.
8
8
  # These attributes are sent on save.
@@ -15,12 +15,31 @@ module WebPay
15
15
  '/customers'
16
16
  end
17
17
 
18
+ # @return [Entity] WebPay::Customer or WebPay::DeletedEntity. <code>deleted?</code> is to classify.
19
+ def self.retrieve(id)
20
+ id = id.to_s
21
+ if id.strip == ''
22
+ raise InvalidRequestError.invalid_id(id)
23
+ end
24
+ response = WebPay.client.get([path, id].join('/'))
25
+ if response['deleted']
26
+ DeletedEntity.new(response)
27
+ else
28
+ convert(response)
29
+ end
30
+ end
31
+
18
32
  # @api private
19
33
  def initialize(attributes)
20
34
  @updated_attributes = {}
21
35
  super(attributes)
22
36
  end
23
37
 
38
+ # @return [Boolean] false
39
+ def deleted?
40
+ false
41
+ end
42
+
24
43
  # <code>object['key']=</code> is wrapper for <code>object.key =</code>.
25
44
  # Method call style is recommended.
26
45
  # @return [Object] Given value
@@ -0,0 +1,8 @@
1
+ module WebPay
2
+ class DeletedEntity < Entity
3
+ # @return [Boolean] true
4
+ def deleted?
5
+ true
6
+ end
7
+ end
8
+ end
@@ -1,5 +1,5 @@
1
1
  module WebPay
2
2
 
3
3
  # Version of WebPay gem
4
- VERSION = "2.0.3"
4
+ VERSION = "2.1.0"
5
5
  end
@@ -0,0 +1,16 @@
1
+ HTTP/1.1 200 OK
2
+ Content-Type: application/json; charset=utf-8
3
+ X-Ua-Compatible: IE=Edge
4
+ Etag: "cfd07e8cad0c1387384a1b37f7fa6ba0"
5
+ Cache-Control: max-age=0, private, must-revalidate
6
+ X-Request-Id: a1a22af941e1b9076e3cc2ce07d2dff4
7
+ X-Runtime: 0.012743
8
+ Server: WEBrick/1.3.1 (Ruby/1.9.3/2013-02-22)
9
+ Date: Fri, 01 Nov 2013 12:07:56 GMT
10
+ Content-Length: 53
11
+ Connection: Keep-Alive
12
+
13
+ {
14
+ "id": "cus_7GafGMbML8R28Io",
15
+ "deleted": true
16
+ }
@@ -36,6 +36,18 @@ describe WebPay::Customer do
36
36
  end
37
37
  end
38
38
 
39
+ describe '.retrieve deleted instance' do
40
+ let(:id) { 'cus_7GafGMbML8R28Io' }
41
+ before do
42
+ stub_get_request("/customers/#{id}", 'customers/retrieve_deleted')
43
+ end
44
+
45
+ subject(:customer) { described_class.retrieve(id) }
46
+ its(:id) { should eq id }
47
+ its(:deleted) { should eq true }
48
+ it { should be_deleted }
49
+ end
50
+
39
51
  describe '.all' do
40
52
  before do
41
53
  stub_get_request("/customers?count=3&offset=0&created[gt]=1378000000", 'customers/all')
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webpay
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.3
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - webpay
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-10-05 00:00:00.000000000 Z
12
+ date: 2013-11-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: faraday
@@ -132,6 +132,7 @@ files:
132
132
  - lib/webpay/charge.rb
133
133
  - lib/webpay/client.rb
134
134
  - lib/webpay/customer.rb
135
+ - lib/webpay/deleted_entity.rb
135
136
  - lib/webpay/entity.rb
136
137
  - lib/webpay/entity_list.rb
137
138
  - lib/webpay/event.rb
@@ -153,6 +154,7 @@ files:
153
154
  - spec/resources/customers/create.txt
154
155
  - spec/resources/customers/delete.txt
155
156
  - spec/resources/customers/retrieve.txt
157
+ - spec/resources/customers/retrieve_deleted.txt
156
158
  - spec/resources/customers/update.txt
157
159
  - spec/resources/errors/bad_request.txt
158
160
  - spec/resources/errors/broken_json.txt
@@ -192,7 +194,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
192
194
  version: '0'
193
195
  requirements: []
194
196
  rubyforge_project:
195
- rubygems_version: 2.0.0
197
+ rubygems_version: 2.0.3
196
198
  signing_key:
197
199
  specification_version: 4
198
200
  summary: Ruby bindings of WebPay API
@@ -210,6 +212,7 @@ test_files:
210
212
  - spec/resources/customers/create.txt
211
213
  - spec/resources/customers/delete.txt
212
214
  - spec/resources/customers/retrieve.txt
215
+ - spec/resources/customers/retrieve_deleted.txt
213
216
  - spec/resources/customers/update.txt
214
217
  - spec/resources/errors/bad_request.txt
215
218
  - spec/resources/errors/broken_json.txt