Module: Bone::API::Redis
Defined Under Namespace
Instance Attribute Summary collapse
-
#redis ⇒ Object
Returns the value of attribute redis.
-
#token_suffix ⇒ Object
readonly
Returns the value of attribute token_suffix.
Instance Method Summary collapse
- #connect ⇒ Object
- #destroy(token, secret) ⇒ Object
- #generate ⇒ Object
- #get(token, secret, name) ⇒ Object
- #key?(token, secret, name) ⇒ Boolean
- #keys(token, secret, filter = '*') ⇒ Object
- #register(token, secret) ⇒ Object
- #secret(token) ⇒ Object
- #set(token, secret, name, value) ⇒ Object
- #token?(token, secret = nil) ⇒ Boolean
Instance Attribute Details
#redis ⇒ Object
Returns the value of attribute redis.
318 319 320 |
# File 'lib/bone/api.rb', line 318 def redis @redis end |
#token_suffix ⇒ Object (readonly)
Returns the value of attribute token_suffix.
317 318 319 |
# File 'lib/bone/api.rb', line 317 def token_suffix @token_suffix end |
Instance Method Details
#connect ⇒ Object
360 361 362 |
# File 'lib/bone/api.rb', line 360 def connect Familia.uri = Bone.source end |
#destroy(token, secret) ⇒ Object
333 334 335 336 |
# File 'lib/bone/api.rb', line 333 def destroy(token, secret) Token.tokens.delete token Token.new(token).secret.destroy! end |
#generate ⇒ Object
343 344 345 346 347 348 349 350 351 352 353 |
# File 'lib/bone/api.rb', line 343 def generate begin token = Bone.random_token attempts ||= 10 end while token?(token) && !(attempts -= 1).zero? secret = Bone.random_secret raise RuntimeError, "Could not generate token" if token.nil? || token?(token) Token.tokens.add Time.now.utc.to_i, token t = Token.new(token).secret = secret [token, secret] end |
#get(token, secret, name) ⇒ Object
319 320 321 |
# File 'lib/bone/api.rb', line 319 def get(token, secret, name) Key.new(token, name).value.get # get returns nil if not set end |
#key?(token, secret, name) ⇒ Boolean
330 331 332 |
# File 'lib/bone/api.rb', line 330 def key?(token, secret, name) Key.new(token, name).value.exists? end |
#keys(token, secret, filter = '*') ⇒ Object
327 328 329 |
# File 'lib/bone/api.rb', line 327 def keys(token, secret, filter='*') Token.new(token).keys.to_a end |
#register(token, secret) ⇒ Object
337 338 339 340 341 342 |
# File 'lib/bone/api.rb', line 337 def register(token, secret) raise RuntimeError, "Could not generate token" if token.nil? || token?(token) Token.tokens.add Time.now.utc.to_i, token t = Token.new(token).secret = secret token end |
#secret(token) ⇒ Object
354 355 356 |
# File 'lib/bone/api.rb', line 354 def secret token Token.new(token).secret.value end |
#set(token, secret, name, value) ⇒ Object
322 323 324 325 326 |
# File 'lib/bone/api.rb', line 322 def set(token, secret, name, value) Key.new(token, name).value = value Token.new(token).keys.add Time.now.utc.to_f, name value.to_s end |
#token?(token, secret = nil) ⇒ Boolean
357 358 359 |
# File 'lib/bone/api.rb', line 357 def token?(token, secret=nil) Token.tokens.member?(token.to_s) end |