riddl 0.99.221 → 0.99.222

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: 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