riddl 0.99.221 → 0.99.222

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d5cf129b80641d4c8065f26e8d0ef4ab4826f61d
4
- data.tar.gz: 0037ac8bd56d521e825201f1a13195056d41aeb0
3
+ metadata.gz: 6fdd056e0a403a454efa540aa0e2f91ba9834815
4
+ data.tar.gz: 4eaa8a23993e306590b543faf586ceaa85f9682a
5
5
  SHA512:
6
- metadata.gz: 63d54e200b15c4701f67384b3d9c35a1489eddcf0bc73f4e8464c899765bac510618ff1b9b92b9a4d52ac85113331c3edc73e410c9d0baa326a20acf61e5aca2
7
- data.tar.gz: dfc2a396ca3cc988dc08f1ced7dd7313dc700a32004b7a29d0ff6991e9295d4bbcfbd08ab0316e9b653419a6f87477ad62fc385fcd199683eb696ef7abbaf8c0
6
+ metadata.gz: f4337b2e3dc0a9d59ef6b2d9ce2c75422ca7216c9c8227ce8beace6f8718d6aee3c29c3347a1d649ae8da4cbb4565c59c9970f8800b1a3cb5dadcf01696c80db
7
+ data.tar.gz: 48b10d06c02623fb6ea3e901aaab727ad16a975527fb5893a5362e97dd829462d30809aa504aa0d98089d436c63676a967520ddd557cd7cd177f9a3285f78a51
@@ -8,62 +8,110 @@ module Riddl
8
8
  module OAuth2
9
9
 
10
10
  module Helper
11
- class Tokens #{{{
12
- def initialize(tfile)
13
- @tfile = tfile
14
- @changed = changed
15
- read
16
- end
17
-
18
- def get(name)
19
- read if changed != @changed
20
- @tokens[name]
21
- end
22
-
23
- def key?(key)
24
- @tokens.key?(key)
25
- end
26
-
27
- def set(name,value,dur)
28
- @tokens[name] = value
29
- write
30
- nil
31
- end
32
-
33
- def changed
34
- if File.exists?(@tfile)
35
- File.stat(@tfile).mtime
36
- else
37
- @tokens = {}
11
+ module Tokens #{{{
12
+
13
+ class Redis #{{{
14
+ def initialize(url)
15
+ @redis = Redis.new(:url => url)
16
+ end
17
+
18
+ def get(key)
19
+ @redis.get key
20
+ end
21
+
22
+ def key?(key)
23
+ @redis.exists(key)
24
+ end
25
+
26
+ def set(key,value,dur)
27
+ @redis.multi do
28
+ @redis.set key, value
29
+ @redis.set value, key
30
+ @redis.expire key, dur
31
+ @redis.expire value, dur
32
+ end
33
+ nil
34
+ end
35
+
36
+ def delete(key)
37
+ value = nil
38
+ @redis.multi do
39
+ value = @redis.get key
40
+ @redis.del key
41
+ @redis.del value
42
+ end
43
+ value
44
+ end
45
+
46
+ def delete_by_value(value)
47
+ key = nil
48
+ @redis.multi do
49
+ key = @redis.get value
50
+ @redis.del key
51
+ @redis.del value
52
+ end
53
+ key
54
+ end
55
+ end #}}}
56
+
57
+ class File #{{{
58
+ def initialize(tfile)
59
+ @tfile = tfile
60
+ @changed = changed
61
+ read
62
+ end
63
+
64
+ def get(name)
65
+ read if changed != @changed
66
+ @tokens[name]
67
+ end
68
+
69
+ def key?(key)
70
+ @tokens.key?(key)
71
+ end
72
+
73
+ def set(name,value,dur)
74
+ @tokens[name] = value
75
+ write
76
+ nil
77
+ end
78
+
79
+ def changed
80
+ if File.exists?(@tfile)
81
+ File.stat(@tfile).mtime
82
+ else
83
+ @tokens = {}
84
+ write
85
+ end
86
+ end
87
+ private :changed
88
+
89
+ def write
90
+ EM.defer {
91
+ File.write(@tfile, JSON::pretty_generate(@tokens)) rescue {}
92
+ }
93
+ @changed = changed
94
+ end
95
+ private :write
96
+
97
+ def read
98
+ @tokens = JSON::parse(File.read(@tfile)) rescue {}
99
+ end
100
+ private :read
101
+
102
+ def delete(token)
103
+ deleted = @tokens.delete(token)
104
+ write
105
+ deleted
106
+ end
107
+
108
+ def delete_by_user(user_id)
109
+ deleted = @tokens.delete_if { |_, v| v == user_id }
38
110
  write
111
+ deleted
39
112
  end
40
- end
41
- private :changed
42
-
43
- def write
44
- EM.defer {
45
- File.write(@tfile, JSON::pretty_generate(@tokens)) rescue {}
46
- }
47
- @changed = changed
48
- end
49
- private :write
50
-
51
- def read
52
- @tokens = JSON::parse(File.read(@tfile)) rescue {}
53
- end
54
- private :read
55
-
56
- def delete(token)
57
- deleted = @tokens.delete(token)
58
- write
59
- deleted
60
- end
61
-
62
- def delete_by_user(user_id)
63
- deleted = @tokens.delete_if { |_, v| v == user_id }
64
- write
65
- deleted
66
- end
113
+ end #}}}
114
+
67
115
  end #}}}
68
116
 
69
117
  def self::header #{{{
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "riddl"
3
- s.version = "0.99.221"
3
+ s.version = "0.99.222"
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.license = "LGPL-3"
6
6
  s.summary = "restful interface description and declaration language: tools and client/server libs"
@@ -34,4 +34,5 @@ Gem::Specification.new do |s|
34
34
  s.add_runtime_dependency 'minitest', '>= 5.0.0', '~>5'
35
35
  s.add_runtime_dependency 'blather', '~>1'
36
36
  s.add_runtime_dependency 'charlock_holmes', '>= 0.7', '~>0'
37
+ s.add_runtime_dependency 'redis', '>= 3.3.0', '~>3.3'
37
38
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: riddl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.99.221
4
+ version: 0.99.222
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juergen 'eTM' Mangler
@@ -214,6 +214,26 @@ dependencies:
214
214
  - - "~>"
215
215
  - !ruby/object:Gem::Version
216
216
  version: '0'
217
+ - !ruby/object:Gem::Dependency
218
+ name: redis
219
+ requirement: !ruby/object:Gem::Requirement
220
+ requirements:
221
+ - - ">="
222
+ - !ruby/object:Gem::Version
223
+ version: 3.3.0
224
+ - - "~>"
225
+ - !ruby/object:Gem::Version
226
+ version: '3.3'
227
+ type: :runtime
228
+ prerelease: false
229
+ version_requirements: !ruby/object:Gem::Requirement
230
+ requirements:
231
+ - - ">="
232
+ - !ruby/object:Gem::Version
233
+ version: 3.3.0
234
+ - - "~>"
235
+ - !ruby/object:Gem::Version
236
+ version: '3.3'
217
237
  description: rest service interface definition, mixing, and evolution. supports mixed
218
238
  http and xmpp servers.
219
239
  email: juergen.mangler@gmail.com