paypal_permissions 0.0.3.4 → 0.0.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,7 @@
1
+ # load the active_merchant modules before defining them which would result in unitialized constants otherwise
1
2
  require 'active_merchant'
3
+ require 'active_merchant/billing'
4
+ require 'active_merchant/billing/gateways'
2
5
  require 'uri'
3
6
  require 'cgi'
4
7
  require 'openssl'
@@ -1,3 +1,3 @@
1
1
  module PaypalPermissions
2
- VERSION = "0.0.3.4"
2
+ VERSION = "0.0.4.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paypal_permissions
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3.4
4
+ version: 0.0.4.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-04-16 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &2156303680 !ruby/object:Gem::Requirement
16
+ requirement: &2153057240 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *2156303680
24
+ version_requirements: *2153057240
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: vcr
27
- requirement: &2156302160 !ruby/object:Gem::Requirement
27
+ requirement: &2153056060 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '1.11'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *2156302160
35
+ version_requirements: *2153056060
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: railties
38
- requirement: &2156298500 !ruby/object:Gem::Requirement
38
+ requirement: &2153054900 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '3.0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *2156298500
46
+ version_requirements: *2153054900
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: activesupport
49
- requirement: &2156295860 !ruby/object:Gem::Requirement
49
+ requirement: &2153054020 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '3.0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *2156295860
57
+ version_requirements: *2153054020
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: activemerchant
60
- requirement: &2156293880 !ruby/object:Gem::Requirement
60
+ requirement: &2153053280 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *2156293880
68
+ version_requirements: *2153053280
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
- requirement: &2156256740 !ruby/object:Gem::Requirement
71
+ requirement: &2153051660 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '2.6'
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *2156256740
79
+ version_requirements: *2153051660
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: ammeter
82
- requirement: &2156255120 !ruby/object:Gem::Requirement
82
+ requirement: &2153050800 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,7 +87,7 @@ dependencies:
87
87
  version: '0'
88
88
  type: :runtime
89
89
  prerelease: false
90
- version_requirements: *2156255120
90
+ version_requirements: *2153050800
91
91
  description: ! '"A gem to support PayPal Permissions API for Rails applications using
92
92
  ActiveMerchant."'
93
93
  email:
@@ -101,9 +101,6 @@ files:
101
101
  - README.md
102
102
  - Rakefile
103
103
  - config/locales/en.yml
104
- - examples.old/app/controllers/paypal_perms_controller.rb
105
- - examples.old/app/models/paypal_perm.rb
106
- - examples.old/db/migrate/paypal_permissions_create_paypal_perms.rb
107
104
  - examples/.gitignore
108
105
  - examples/Gemfile
109
106
  - examples/README.rdoc
@@ -199,7 +196,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
199
196
  version: '0'
200
197
  segments:
201
198
  - 0
202
- hash: -141637157395021901
199
+ hash: -4480802901043442845
203
200
  required_rubygems_version: !ruby/object:Gem::Requirement
204
201
  none: false
205
202
  requirements:
@@ -208,7 +205,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
208
205
  version: '0'
209
206
  segments:
210
207
  - 0
211
- hash: -141637157395021901
208
+ hash: -4480802901043442845
212
209
  requirements: []
213
210
  rubyforge_project: paypal_permissions
214
211
  rubygems_version: 1.8.10
@@ -1,109 +0,0 @@
1
- require 'uri'
2
-
3
- class PaypalPermsController < ApplicationController
4
- def index
5
- render :text => "paypal perms"
6
- end
7
-
8
- def new
9
- school_id = session[:school_id]
10
- @paypal_perms = PaypalPerm.new(:school_id => school_id)
11
- end
12
-
13
- def create
14
- school = School.find_by_id params[:paypal_perm][:school_id]
15
- if school
16
- paypal_perms = PaypalPerm.new(:school => school)
17
- if paypal_perms.save
18
- g = ::PAYPAL_PERMISSIONS_GATEWAY
19
- callback_url = paypal_perms_request_permissions_callback_url
20
- # Make @paypal_response an instance variable just to facilitate testing
21
- @paypal_response = g.request_permissions URI.encode(callback_url), 'DIRECT_PAYMENT'
22
- if @paypal_response[:ack] == 'Success'
23
- token = @paypal_response[:token]
24
- if token.present?
25
- paypal_perms.update_attribute :request_permissions_request_token, token
26
- url = g.redirect_user_to_paypal_url(token)
27
- redirect_to url
28
- return
29
- else
30
- # this should never happen, hence, it's pretty much unrecoverable
31
- raise
32
- end
33
- else
34
- message = @paypal_response[:errors][0][:message] # TODO: need a method to find error messages or display a generic message
35
- flash[:error] = message
36
- redirect_to new_paypal_perm_path
37
- end
38
- else
39
- message = "unable to create paypal_perms object"
40
- flash[:error] = message
41
- redirect_to new_paypal_perm_path
42
- end
43
- else
44
- message = "can't find that school"
45
- flash[:error] = message
46
- redirect_to new_paypal_perm_path
47
- end
48
- end
49
-
50
- # Really, request_permissions_callback should do all this.
51
- def update
52
- paypal_perms = PaypalPerm.find_by_request_permissions_request_token params[:request_token]
53
- if paypal_perms
54
- g = ::PAYPAL_PERMISSIONS_GATEWAY
55
- # Make @paypal_response an instance variable just to facilitate testing
56
- @paypal_response = g.get_access_token paypal_perms.request_permissions_request_token, paypal_perms.request_permissions_callback_verifier
57
- if @paypal_response[:ack] == 'Success'
58
- paypal_perms.update_attributes({
59
- :get_access_token_access_token => @paypal_response[:token],
60
- :get_access_token_verifier => @paypal_response[:tokenSecret],
61
- })
62
- render :text => 'thanks for the access token'
63
- else
64
- flash[:error] = @paypal_response[:errors][0][:message] # TODO: need a method to find error messages or display a generic message
65
- redirect_to new_paypal_perm_path
66
- end
67
- else
68
- render :text => "that permission doesn't exist"
69
- end
70
- end
71
-
72
- def show
73
- if params[:id] == 'request_permissions_callback'
74
- render :text => "We're sorry to see that you haven't given us permission to execute payment transactions."
75
- else
76
- respond_with PaypalPerm.find_by_id(params[:id])
77
- end
78
- end
79
-
80
- def request_permissions_callback
81
- perms = PaypalPerm.find_by_request_permissions_request_token params[:request_token]
82
- if perms
83
- if perms.valid?
84
- if perms.update_attribute :request_permissions_callback_verifier, params[:verification_code]
85
- update
86
- else
87
- render :text => "thanks for the permission, but i've got problems"
88
- end
89
- else
90
- render :text => "perms wasn't valid: #{perms.errors}"
91
- end
92
- else
93
- if Rails.env.development? || Rails.env.test?
94
- perms = PaypalPerm.create({
95
- :school_id => session[:school_id],
96
- :request_permissions_request_token => params[:request_token],
97
- :request_permissions_callback_verifier => params[:verification_code],
98
- })
99
- if perms
100
- render :text => "that permission doesn't exist, but to facilitate testing i created it"
101
- else
102
- render :text => "that permission doesn't exist, and i couldn't create it, not even for testing"
103
- end
104
- else
105
- render :text => "perms isn't valid: #{perms.errors.inspect}"
106
- end
107
- end
108
- end
109
- end
@@ -1,32 +0,0 @@
1
- class PaypalPerm < ActiveRecord::Base
2
- belongs_to :school, :inverse_of => :paypal_perms
3
-
4
- validates :school, :presence => true
5
- # validates :request_permissions_ack, :presence => true
6
-
7
- attr_accessible :school, :school_id,
8
- :request_permissions_ack, :request_permissions_correlation_id, :request_permissions_request_token,
9
- :request_permissions_verifier, :request_permissions_envelope_timestamp,
10
- :request_permissions_errors, :request_permissions_raw_response,
11
- :request_permissions_callback_ack, :request_permissions_callback_correlation_id, :request_permissions_callback_request_token,
12
- :request_permissions_callback_verifier, :request_permissions_callback_envelope_timestamp,
13
- :request_permissions_callback_errors, :request_permissions_callback_raw_response,
14
- :get_access_token_ack, :get_access_token_correlation_id, :get_access_token_access_token,
15
- :get_access_token_verifier, :get_access_token_envelope_timestamp,
16
- :get_access_token_errors, :get_access_token_raw_response
17
-
18
- public
19
- def as_json(opts = {})
20
- opts ||= {}
21
- super({ :only => %w[id request_permissions_ack request_permissions_correlation_id request_permissions_request_token
22
- request_permissions_verifier request_permissions_envelope_timestamp
23
- request_permissions_errors request_permissions_raw_response
24
- request_permissions_callback_ack request_permissions_callback_correlation_id request_permissions_callback_request_token
25
- request_permissions_callback_verifier request_permissions_callback_envelope_timestamp
26
- request_permissions_callback_errors request_permissions_callback_raw_response
27
- get_access_token_ack get_access_token_correlation_id get_access_token_access_token
28
- get_access_token_verifier get_access_token_envelope_timestamp
29
- get_access_token_errors get_access_token_raw_response
30
- ] }.merge(opts))
31
- end
32
- end
@@ -1,37 +0,0 @@
1
- class PaypalPermissionsCreatePaypalPerms < ActiveRecord::Migration
2
- def change
3
- create_table(:paypal_perms) do |t|
4
- t.integer "school_id", :null => false
5
-
6
- # RequestPermissions response fields
7
- t.string :request_permissions_ack
8
- t.string :request_permissions_correlation_id
9
- t.string :request_permissions_request_token
10
- t.datetime :request_permissions_envelope_timestamp
11
- t.text :request_permissions_errors
12
- t.text :request_permissions_raw_response
13
-
14
- # RequestPermissions callback fields
15
- t.string :request_permissions_callback_ack
16
- t.string :request_permissions_callback_correlation_id
17
- t.string :request_permissions_callback_verifier
18
- t.datetime :request_permissions_callback_envelope_timestamp
19
- t.text :request_permissions_callback_errors
20
- t.text :request_permissions_callback_raw_response
21
-
22
- # GetAccessToken response fields
23
- t.string :get_access_token_ack
24
- t.string :get_access_token_correlation_id
25
- t.string :get_access_token_access_token
26
- t.string :get_access_token_verifier
27
- t.datetime :get_access_token_envelope_timestamp
28
- t.text :get_access_token_errors
29
- t.text :get_access_token_raw_response
30
-
31
- t.timestamps
32
- end
33
-
34
- add_index :paypal_perms, :request_permissions_request_token
35
- add_index :paypal_perms, :get_access_token_access_token
36
- end
37
- end