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.
322 323 324 |
# File 'lib/bone/api.rb', line 322 def redis @redis end |
#token_suffix ⇒ Object (readonly)
Returns the value of attribute token_suffix.
321 322 323 |
# File 'lib/bone/api.rb', line 321 def token_suffix @token_suffix end |
Instance Method Details
#connect ⇒ Object
364 365 366 |
# File 'lib/bone/api.rb', line 364 def connect Familia.uri = Bone.source end |
#destroy(token, secret) ⇒ Object
337 338 339 340 |
# File 'lib/bone/api.rb', line 337 def destroy(token, secret) Token.tokens.delete token Token.new(token).secret.delete end |
#generate ⇒ Object
347 348 349 350 351 352 353 354 355 356 357 |
# File 'lib/bone/api.rb', line 347 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
323 324 325 |
# File 'lib/bone/api.rb', line 323 def get(token, secret, name) Key.new(token, name).value.get # get returns nil if not set end |
#key?(token, secret, name) ⇒ Boolean
334 335 336 |
# File 'lib/bone/api.rb', line 334 def key?(token, secret, name) Key.new(token, name).value.exists? end |
#keys(token, secret, filter = '*') ⇒ Object
331 332 333 |
# File 'lib/bone/api.rb', line 331 def keys(token, secret, filter='*') Token.new(token).keys.to_a end |
#register(token, secret) ⇒ Object
341 342 343 344 345 346 |
# File 'lib/bone/api.rb', line 341 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
358 359 360 |
# File 'lib/bone/api.rb', line 358 def secret token Token.new(token).secret.value end |
#set(token, secret, name, value) ⇒ Object
326 327 328 329 330 |
# File 'lib/bone/api.rb', line 326 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
361 362 363 |
# File 'lib/bone/api.rb', line 361 def token?(token, secret=nil) Token.tokens.member?(token.to_s) end |