pinter 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -12,6 +12,7 @@ Get your API key and API secret from [your API page](https://www.pintpay.com/api
12
12
 
13
13
  Pinter.api_key = "25fdbd9bs0f3sa00f0ecg3e20bja1fag"
14
14
  Pinter.api_secret = "93a76x73afhe4hgbeqd2720e7eetfu19"
15
+ Pinter.subdomain = "your-subdomain"
15
16
 
16
17
  ### List all subscriptions
17
18
 
@@ -25,6 +26,20 @@ Returns the hash of one subscription. Use the subscription's "secret" attribute
25
26
 
26
27
  Pinter::Subscription.find "23862dc3979f365d"
27
28
 
29
+ You can also find the subscription by your custom identifier.
30
+
31
+ Pinter::Subscription.find_by_identifier "231"
32
+
33
+ ### See your page's URL
34
+
35
+ Returns the URL to your PintPay page.
36
+
37
+ Pinter.url
38
+
39
+ You can also supply the parameters, like the user's email and identifier.
40
+
41
+ Pinter.url :email => "user@domain.com", :identifier => "1"
42
+
28
43
  ## Todo
29
44
 
30
45
  * Tests.
@@ -35,4 +50,4 @@ Returns the hash of one subscription. Use the subscription's "secret" attribute
35
50
 
36
51
  #### Copyright
37
52
 
38
- Copyright (c) 2011 Nathan Borgo. See LICENSE for details.
53
+ Copyright (c) 2011 Nathan Borgo. See License for details.
@@ -49,4 +49,5 @@ require 'pinter/hash'
49
49
  require 'pinter/base'
50
50
  require 'pinter/subscription'
51
51
  require 'pinter/user'
52
- require 'pinter/product'
52
+ require 'pinter/product'
53
+ require 'pinter/result'
@@ -0,0 +1,13 @@
1
+ module Pinter
2
+ class Result
3
+
4
+ include Base
5
+
6
+ attr_reader :success, :message
7
+
8
+ def initialize(attributes)
9
+ set_instance_variables_from_hash attributes
10
+ end
11
+
12
+ end
13
+ end
@@ -7,7 +7,7 @@ module Pinter
7
7
  # default_params :api_key => Pinter.api_key, :api_secret => Pinter.api_secret
8
8
  format :json
9
9
 
10
- attr_reader :first_name, :last_name, :recurring, :secret, :user, :product, :created_at
10
+ attr_reader :first_name, :last_name, :recurring, :secret, :user, :product, :identifier, :created_at
11
11
 
12
12
  def initialize(attributes)
13
13
  set_instance_variables_from_hash attributes
@@ -30,8 +30,26 @@ module Pinter
30
30
 
31
31
  def self.find(secret)
32
32
  sub = get "/subscriptions/#{secret}", :query => { :api_key => Pinter.api_key, :api_secret => Pinter.api_secret }
33
- sub = sub.parsed_response
34
- sub.to_subscription
33
+ sub.parsed_response.to_subscription
34
+ end
35
+
36
+ def self.find_by_identifier(identifier)
37
+ sub = get "/subscriptions/identifier/#{identifier}", :query => { :api_key => Pinter.api_key,
38
+ :api_secret => Pinter.api_secret }
39
+ sub.parsed_response.to_subscription
40
+ end
41
+
42
+ def cancel
43
+ response = Subscription.put "/subscriptions/#{secret}/cancel", :body => { :api_key => Pinter.api_key, :api_secret => Pinter.api_secret }
44
+ parsed_response = Crack::JSON.parse response.parsed_response
45
+
46
+ if response.headers["status"] == 200
47
+ attributes = {:success => true, :message => "Cancelled subscription"}
48
+ else
49
+ attributes = {:success => false, :message => parsed_response}
50
+ end
51
+
52
+ Pinter::Result.new attributes
35
53
  end
36
54
 
37
55
  end
@@ -3,7 +3,7 @@ module Pinter
3
3
 
4
4
  include Base
5
5
 
6
- attr_reader :email, :identifier, :name, :created_at
6
+ attr_reader :email, :name, :created_at
7
7
 
8
8
  def initialize(attributes)
9
9
  set_instance_variables_from_hash attributes
@@ -1,3 +1,3 @@
1
1
  module Pinter
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: pinter
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.1.0
5
+ version: 0.2.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - Nathan Borgo
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-05-25 00:00:00 -05:00
13
+ date: 2011-05-27 00:00:00 -05:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -66,6 +66,7 @@ files:
66
66
  - lib/pinter/base.rb
67
67
  - lib/pinter/hash.rb
68
68
  - lib/pinter/product.rb
69
+ - lib/pinter/result.rb
69
70
  - lib/pinter/subscription.rb
70
71
  - lib/pinter/user.rb
71
72
  - lib/pinter/version.rb