Recharge 1.1.3 → 1.1.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.
data/examples/charge.rb CHANGED
@@ -8,7 +8,7 @@ require 'recharge'
8
8
 
9
9
  # Set your API key here, found in Recharge Settings > API Settings > API Private Key
10
10
  # If incorrect or blank, any calls will raise a Response::NotAuthorized
11
- Recharge.api_key = "92ec3e4d8b623dd9baaaf1575b7c557cd113e3e8"
11
+ Recharge.api_key = "14a1a867f39b4fdced2148871e4e542015cad979"
12
12
 
13
13
 
14
14
 
data/examples/test.rb ADDED
@@ -0,0 +1,25 @@
1
+ # Examples for the Recharge API Gem
2
+ # Charge Resource
3
+
4
+ # Only 2 lines are required to get started:
5
+ # Require the recharge gem
6
+ require 'rubygems'
7
+ require 'recharge'
8
+
9
+ # Set your API key here, found in Recharge Settings > API Settings > API Private Key
10
+ # If incorrect or blank, any calls will raise a Response::NotAuthorized
11
+ Recharge.api_key = "14a1a867f39b4fdced2148871e4e542015cad979"
12
+
13
+
14
+
15
+ # deletes an existing product
16
+ puts "", "Delete Product"
17
+
18
+ begin
19
+ # find the product first
20
+ product = Recharge::Product.find('pr4f3192260b55d', 'APIKEY')
21
+ # call destroy on it to delete it
22
+ product.destroy('APIKEY')
23
+ rescue Exception => e
24
+ puts ">> error #{e.message}"
25
+ end
data/lib/recharge/base.rb CHANGED
@@ -1,19 +1,19 @@
1
1
  module Recharge
2
2
  class Base
3
3
  class << self
4
- def get(uri)
4
+ def get(uri, apiKey=nil)
5
5
  client = Client.new()
6
- return client.request('GET', uri)
6
+ return client.request('GET', uri, nil, apiKey)
7
7
  end
8
8
 
9
- def post(uri, data=nil)
9
+ def post(uri, data=nil, apiKey=nil)
10
10
  client = Client.new()
11
- return client.request('POST', uri, data)
11
+ return client.request('POST', uri, data, apiKey)
12
12
  end
13
13
 
14
- def delete(uri)
14
+ def delete(uri, apiKey=nil)
15
15
  client = Client.new()
16
- return client.request('DELETE', uri)
16
+ return client.request('DELETE', uri, nil, apiKey)
17
17
  end
18
18
 
19
19
  def returnImportantXML(data)
@@ -22,24 +22,24 @@ module Recharge
22
22
  def initialize(id='')
23
23
  @id = id
24
24
  end
25
- def self.find_all
26
- responseXML = Recharge::Base.get('charges')
25
+ def self.find_all (apiKey=nil)
26
+ responseXML = Recharge::Base.get('charges', apiKey)
27
27
  parse(responseXML.to_s)
28
28
  end
29
- def self.find (id)
30
- responseXML = Recharge::Base.get('charges/'+id)
29
+ def self.find (id, apiKey=nil)
30
+ responseXML = Recharge::Base.get('charges/'+id, apiKey)
31
31
  parse(responseXML.to_s)
32
32
  end
33
- def self.create (attributes = {})
34
- responseXML = Recharge::Base.post('charges', attributes)
33
+ def self.create (attributes = {}, apiKey=nil)
34
+ responseXML = Recharge::Base.post('charges', attributes, apiKey)
35
35
  parse(responseXML.to_s)
36
36
  end
37
- def update (attributes = {})
38
- responseXML = Recharge::Base.post('charges/'+self.id, attributes)
37
+ def update (attributes = {}, apiKey=nil)
38
+ responseXML = Recharge::Base.post('charges/'+self.id, attributes, apiKey)
39
39
  Charge.parse(responseXML.to_s)
40
40
  end
41
- def destroy
42
- responseXML = Recharge::Base.delete('charges/'+self.id)
41
+ def destroy (apiKey=nil)
42
+ responseXML = Recharge::Base.delete('charges/'+self.id, apiKey)
43
43
  end
44
44
  end
45
45
  end
@@ -1,11 +1,14 @@
1
1
  class Client
2
2
 
3
+ class NotAuthorized < StandardError
4
+ end
5
+
3
6
  def baseURL
4
7
  "https://www.rechargebilling.com/API/v2/"
5
8
  end
6
9
 
7
- def request(method, uri, data=nil)
8
- response = sendRequest(method, uri, data)
10
+ def request(method, uri, data=nil, apiKey=nil)
11
+ response = sendRequest(method, uri, data, apiKey)
9
12
  response.assertValidResponse
10
13
  if response.code.to_i == 200
11
14
  if method != "DELETE"
@@ -19,13 +22,19 @@ class Client
19
22
 
20
23
  end
21
24
 
22
- def sendRequest(method, uri, data=nil)
25
+ def sendRequest(method, uri, data=nil, apiKey=nil)
23
26
  require "net/https"
24
27
  require "uri"
25
28
 
26
29
  if !Recharge.api_key
27
- puts "no api key"
28
- return
30
+ if !apiKey
31
+ raise NotAuthorized, "No API Key"
32
+ return
33
+ end
34
+ else
35
+ if !apiKey
36
+ apiKey = Recharge.api_key
37
+ end
29
38
  end
30
39
 
31
40
  uri = baseURL+uri
@@ -44,7 +53,7 @@ class Client
44
53
  request = Net::HTTP::Delete.new(uri.request_uri)
45
54
  end
46
55
 
47
- request.basic_auth(Recharge.api_key, "")
56
+ request.basic_auth(apiKey, "")
48
57
 
49
58
  http = Net::HTTP.new(uri.host, uri.port)
50
59
  http.use_ssl = true
@@ -30,24 +30,24 @@ module Recharge
30
30
  def initialize(id='')
31
31
  @id = id
32
32
  end
33
- def self.find_all
34
- responseXML = Recharge::Base.get('customers')
33
+ def self.find_all (apiKey=nil)
34
+ responseXML = Recharge::Base.get('customers', apiKey)
35
35
  parse(responseXML.to_s)
36
36
  end
37
- def self.find (id)
38
- responseXML = Recharge::Base.get('customers/'+id)
37
+ def self.find (id, apiKey=nil)
38
+ responseXML = Recharge::Base.get('customers/'+id, apiKey)
39
39
  parse(responseXML.to_s)
40
40
  end
41
- def self.create (attributes = {})
42
- responseXML = Recharge::Base.post('customers', attributes)
41
+ def self.create (attributes = {}, apiKey=nil)
42
+ responseXML = Recharge::Base.post('customers', attributes, apiKey)
43
43
  parse(responseXML.to_s)
44
44
  end
45
- def update (attributes = {})
46
- responseXML = Recharge::Base.post('customers/'+self.id, attributes)
45
+ def update (attributes = {}, apiKey=nil)
46
+ responseXML = Recharge::Base.post('customers/'+self.id, attributes, apiKey)
47
47
  Customer.parse(responseXML.to_s)
48
48
  end
49
- def destroy
50
- responseXML = Recharge::Base.delete('customers/'+self.id)
49
+ def destroy (apiKey=nil)
50
+ responseXML = Recharge::Base.delete('customers/'+self.id, apiKey)
51
51
  end
52
52
  end
53
53
  end
@@ -12,12 +12,12 @@ module Recharge
12
12
  element :nameOnCard, String
13
13
  element :error, String
14
14
 
15
- def self.create (attributes = {})
16
- responseXML = Recharge::Base.post('paymethods', attributes)
15
+ def self.create (attributes = {}, apiKey=nil)
16
+ responseXML = Recharge::Base.post('paymethods', attributes, apiKey)
17
17
  parse(responseXML.to_s)
18
18
  end
19
- def self.destroy (id)
20
- responseXML = Recharge::Base.delete('paymethods/'+id)
19
+ def self.destroy (id, apiKey=nil)
20
+ responseXML = Recharge::Base.delete('paymethods/'+id, apiKey)
21
21
  end
22
22
  end
23
23
  end
@@ -14,24 +14,24 @@ module Recharge
14
14
  def initialize(id='')
15
15
  @id = id
16
16
  end
17
- def self.find_all
18
- responseXML = Recharge::Base.get('products')
17
+ def self.find_all (apiKey=nil)
18
+ responseXML = Recharge::Base.get('products', apiKey)
19
19
  parse(responseXML.to_s)
20
20
  end
21
- def self.find (id)
22
- responseXML = Recharge::Base.get('products/'+id)
21
+ def self.find (id, apiKey=nil)
22
+ responseXML = Recharge::Base.get('products/'+id, apiKey)
23
23
  parse(responseXML.to_s)
24
24
  end
25
- def self.create (attributes = {})
26
- responseXML = Recharge::Base.post('products', attributes)
25
+ def self.create (attributes = {}, apiKey=nil)
26
+ responseXML = Recharge::Base.post('products', attributes, apiKey)
27
27
  parse(responseXML.to_s)
28
28
  end
29
- def update (attributes = {})
30
- responseXML = Recharge::Base.post('products/'+self.id, attributes)
29
+ def update (attributes = {}, apiKey=nil)
30
+ responseXML = Recharge::Base.post('products/'+self.id, attributes, apiKey)
31
31
  Product.parse(responseXML.to_s)
32
32
  end
33
- def destroy (attributes = {})
34
- responseXML = Recharge::Base.delete('products/'+self.id)
33
+ def destroy (apiKey=nil)
34
+ responseXML = Recharge::Base.delete('products/'+self.id, apiKey)
35
35
  end
36
36
  end
37
37
  end
@@ -15,16 +15,16 @@ module Recharge
15
15
  element :batchAmount, String
16
16
  element :approvalCode, String
17
17
 
18
- def self.purchase (attributes = {})
19
- responseXML = Recharge::Base.post('purchase', attributes)
18
+ def self.purchase (attributes = {}, apiKey=nil)
19
+ responseXML = Recharge::Base.post('purchase', attributes, apiKey)
20
20
  parse(responseXML.to_s)
21
21
  end
22
- def self.refund (attributes = {})
23
- responseXML = Recharge::Base.post('return', attributes)
22
+ def self.refund (attributes = {}, apiKey=nil)
23
+ responseXML = Recharge::Base.post('return', attributes, apiKey)
24
24
  parse(responseXML.to_s)
25
25
  end
26
- def self.void (attributes = {})
27
- responseXML = Recharge::Base.post('void', attributes)
26
+ def self.void (attributes = {}, apiKey=nil)
27
+ responseXML = Recharge::Base.post('void', attributes, apiKey)
28
28
  parse(responseXML.to_s)
29
29
  end
30
30
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: Recharge
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
4
+ hash: 27
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 1
9
- - 3
10
- version: 1.1.3
9
+ - 4
10
+ version: 1.1.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - Recharge
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-02-15 00:00:00 Z
18
+ date: 2012-02-17 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: happymapper
@@ -55,6 +55,7 @@ files:
55
55
  - examples/customer.rb
56
56
  - examples/paymethod.rb
57
57
  - examples/product.rb
58
+ - examples/test.rb
58
59
  - examples/transaction.rb
59
60
  homepage: http://rechargebilling.com/api
60
61
  licenses: []