wepay-rails 0.1.33 → 0.1.34

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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.33
1
+ 0.1.34
data/lib/exceptions.rb ADDED
@@ -0,0 +1,6 @@
1
+ module WepayRails
2
+ module Exceptions
3
+ class AccessTokenError < StandardError; end
4
+ class ExpiredTokenError < StandardError; end
5
+ end
6
+ end
@@ -2,7 +2,7 @@ module WepayRails
2
2
  module Helpers
3
3
  module ControllerHelpers
4
4
 
5
- def redirect_to_wepay_for_auth(scope)
5
+ def redirect_to_wepay_for_auth(scope=gateway.scope)
6
6
  redirect_to gateway.auth_code_url(scope)
7
7
  end
8
8
 
@@ -26,7 +26,9 @@ module WepayRails
26
26
  # {"user_id":"123456","access_token":"1337h4x0rzabcd12345","token_type":"BEARER"} Example
27
27
  def initialize_wepay_access_token(auth_code)
28
28
  wepay_access_token = gateway.access_token(auth_code)
29
- raise unless wepay_access_token.present?
29
+ rescue WepayRails::Exceptions::ExpiredTokenError => e
30
+ redirect_to_wepay_for_auth gateway.scope
31
+ return
30
32
  end
31
33
 
32
34
  # Since we are saving the access token in the session,
data/lib/wepay-rails.rb CHANGED
@@ -7,22 +7,29 @@ module WepayRails
7
7
 
8
8
  base_uri @base_uri
9
9
 
10
- attr_accessor :wepay_access_token, :wepay_auth_code
10
+ attr_accessor :wepay_access_token, :wepay_auth_code, :scope
11
11
 
12
12
  def initialize(*args)
13
13
  yml = Rails.root.join('config', 'wepay.yml').to_s
14
14
  @config = YAML.load_file(yml)[Rails.env].symbolize_keys
15
+ @scope = @config.delete(:scope)
15
16
  @base_uri = Rails.env.production? ? "https://api.wepay.com" : "https://stage.wepay.com"
16
17
  end
17
18
 
18
19
  def access_token(auth_code)
19
20
  @wepay_auth_code = auth_code
20
- File.open('/tmp/wepay-rails.log','a') {|f| f.write(auth_code)}
21
- File.open('/tmp/wepay-rails.log','a') {|f| f.write(@config.merge(:code => auth_code).inspect)}
22
21
  response = self.class.get("#{@base_uri}/v2/oauth2/token", :query => @config.merge(:code => auth_code))
23
22
  json = JSON.parse(response.body)
24
- File.open('/tmp/wepay-rails.log','a') {|f| f.write(response.body)}
25
- File.open('/tmp/wepay-rails.log','a') {|f| f.write(json.inspect)}
23
+
24
+ if json.has_key?("error")
25
+ if json.has_key?("error_description")
26
+ raise WepayRails::Exceptions::ExpiredTokenError.new("You will need to get a new authorization code") if json["error_description"] == "the code has expired"
27
+ raise WepayRails::Exceptions::AccessTokenError.new(json["error_description"])
28
+ end
29
+ end
30
+
31
+ raise WepayRails::Exceptions::AccessTokenError.new("A problem occurred trying to get the access token: #{json.inspect}") unless json.has_key?("access_token")
32
+
26
33
  @wepay_access_token = json["access_token"]
27
34
  end
28
35
 
data/wepay-rails.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{wepay-rails}
8
- s.version = "0.1.33"
8
+ s.version = "0.1.34"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Adam Medeiros"]
@@ -26,6 +26,7 @@ Gem::Specification.new do |s|
26
26
  "README.rdoc",
27
27
  "Rakefile",
28
28
  "VERSION",
29
+ "lib/exceptions.rb",
29
30
  "lib/helpers/controller_helpers.rb",
30
31
  "lib/helpers/model_helpers.rb",
31
32
  "lib/wepay-rails.rb",
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wepay-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.33
4
+ version: 0.1.34
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -14,7 +14,7 @@ default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: httparty
17
- requirement: &2151872860 !ruby/object:Gem::Requirement
17
+ requirement: &2151865140 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: '0'
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *2151872860
25
+ version_requirements: *2151865140
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: shoulda
28
- requirement: &2151870720 !ruby/object:Gem::Requirement
28
+ requirement: &2151863680 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
- version_requirements: *2151870720
36
+ version_requirements: *2151863680
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: bundler
39
- requirement: &2151868540 !ruby/object:Gem::Requirement
39
+ requirement: &2151861880 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ~>
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: 1.0.0
45
45
  type: :development
46
46
  prerelease: false
47
- version_requirements: *2151868540
47
+ version_requirements: *2151861880
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: jeweler
50
- requirement: &2151865960 !ruby/object:Gem::Requirement
50
+ requirement: &2151859660 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ~>
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: 1.6.4
56
56
  type: :development
57
57
  prerelease: false
58
- version_requirements: *2151865960
58
+ version_requirements: *2151859660
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: rcov
61
- requirement: &2151865020 !ruby/object:Gem::Requirement
61
+ requirement: &2151857180 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ! '>='
@@ -66,7 +66,7 @@ dependencies:
66
66
  version: '0'
67
67
  type: :development
68
68
  prerelease: false
69
- version_requirements: *2151865020
69
+ version_requirements: *2151857180
70
70
  description: Rails gem that interfaces with the WePay API
71
71
  email: adammede@gmail.com
72
72
  executables: []
@@ -84,6 +84,7 @@ files:
84
84
  - README.rdoc
85
85
  - Rakefile
86
86
  - VERSION
87
+ - lib/exceptions.rb
87
88
  - lib/helpers/controller_helpers.rb
88
89
  - lib/helpers/model_helpers.rb
89
90
  - lib/wepay-rails.rb
@@ -106,7 +107,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
106
107
  version: '0'
107
108
  segments:
108
109
  - 0
109
- hash: -4397495673617339772
110
+ hash: -214898700293280677
110
111
  required_rubygems_version: !ruby/object:Gem::Requirement
111
112
  none: false
112
113
  requirements: