capcoauth 0.3.0 → 0.3.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4d01caf13b1d26c506dc0cb1024079306f7f1bbc
4
- data.tar.gz: eae8b93664bc2d3a92732cb041930bcdbdda2e8d
3
+ metadata.gz: 48878ea66857e9efa43a5a837d28db91d9ccc918
4
+ data.tar.gz: a8568a00c443097287e69768ec3bc040a785b1a2
5
5
  SHA512:
6
- metadata.gz: 17a98e7286027a3a03c957b0b1635db8924db933e8ed688efe176266ca77dab3378d6fb58df220d88a4882f9ffcc3c7966b33b5b1fb7a9216c0323547ae2a352
7
- data.tar.gz: 9c70e143373d22799b4fc1c8b27b2b6567bc5a472392a55a751ae1e88e6809836cf989c1bf7baa716d5c3fbee175a9e2d0e7af2994a7e4c8e5dba3e93904e9eb
6
+ metadata.gz: 0f41ff5dddad8bc139d69c0af461b771bd77f393032519aa74c4f30dd8370c343ee3026ebe83b2507f05f2e75ad716ae4d8c858aeb7cd5bcfd860c7a02c42bbb
7
+ data.tar.gz: d49ebd6f95a3711fe44d097872d9f999f3f7188ef0ead9641b48abda0466e1f0e4be779eed8526ac56c6e5bb1e8d03b80b252db37751a4e17c38c235380c768e
data/capcoauth.gemspec CHANGED
@@ -17,6 +17,7 @@ Gem::Specification.new do |s|
17
17
  s.require_paths = ['lib']
18
18
 
19
19
  s.add_dependency 'railties', ['>= 4.2', '< 6.0']
20
+ s.add_dependency 'activesupport', '>= 3.0'
20
21
  s.add_dependency 'httparty', '~> 0.13'
21
22
 
22
23
  s.add_development_dependency 'rake', '~> 10.5'
@@ -1,3 +1,5 @@
1
+ require 'active_support/cache'
2
+
1
3
  module Capcoauth
2
4
  class MissingConfiguration < StandardError
3
5
  def initialize
@@ -75,6 +77,7 @@ module Capcoauth
75
77
  option :token_verify_ttl, default: 10
76
78
  option :capcoauth_url, default: 'https://capcoauth.capco.com'
77
79
  option :user_id_field, default: :capcoauth
80
+ option :cache_store, default: ::ActiveSupport::Cache::MemoryStore.new
78
81
  option :user_resolver, default: (lambda do |capcoauth_user_id|
79
82
  Capcoauth.configuration.logger.warn('[CapcOAuth] User resolver is not configured. Please specify a block in configuration to resolve the proper user')
80
83
  nil
@@ -1,26 +1,25 @@
1
1
  module Capcoauth
2
2
  module OAuth
3
3
  class TTLCache
4
- @@cache = {}
5
4
 
6
5
  def self.user_id_for(access_token)
7
- purge
8
- return @@cache[access_token][:user_id] if @@cache[access_token].present?
9
- nil
6
+ store.fetch(key_for(access_token))
10
7
  end
11
8
 
12
9
  def self.update(access_token, user_id)
13
- @@cache[access_token] = { last_checked: Time.zone.now, user_id: user_id }
10
+ store.write(key_for(access_token), user_id, expires_in: Capcoauth.configuration.token_verify_ttl)
14
11
  end
15
12
 
16
13
  def self.remove(access_token)
17
- @@cache.delete(access_token)
14
+ store.delete(key_for(access_token))
18
15
  end
19
16
 
20
- def self.purge
21
- @@cache.delete_if do |k, v|
22
- Time.zone.now > v[:last_checked] + Capcoauth.configuration.token_verify_ttl
23
- end
17
+ def self.key_for(access_token)
18
+ "capcoauth_token:#{access_token}"
19
+ end
20
+
21
+ def self.store
22
+ Capcoauth.configuration.cache_store
24
23
  end
25
24
  end
26
25
  end
@@ -1,3 +1,3 @@
1
1
  module Capcoauth
2
- VERSION = '0.3.0'
2
+ VERSION = '0.3.1'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capcoauth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Robertson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-10-04 00:00:00.000000000 Z
11
+ date: 2016-11-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -30,6 +30,20 @@ dependencies:
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '6.0'
33
+ - !ruby/object:Gem::Dependency
34
+ name: activesupport
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '3.0'
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '3.0'
33
47
  - !ruby/object:Gem::Dependency
34
48
  name: httparty
35
49
  requirement: !ruby/object:Gem::Requirement
@@ -125,7 +139,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
125
139
  version: '0'
126
140
  requirements: []
127
141
  rubyforge_project:
128
- rubygems_version: 2.5.1
142
+ rubygems_version: 2.6.7
129
143
  signing_key:
130
144
  specification_version: 4
131
145
  summary: Integration with Capcoauth authentication service