paypal_permissions 0.0.3.4 → 0.0.4.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.
@@ -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