webpay 2.0.3 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
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