Module: Bone::API::Memory

Extended by:
Memory
Included in:
Memory
Defined in:
lib/bone/api.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#token_suffixObject (readonly)

Returns the value of attribute token_suffix.



400
401
402
# File 'lib/bone/api.rb', line 400

def token_suffix
  @token_suffix
end

Instance Method Details

#connectObject



439
440
# File 'lib/bone/api.rb', line 439

def connect
end

#destroy(token, secret) ⇒ Object



416
417
418
# File 'lib/bone/api.rb', line 416

def destroy(token, secret)
  @tokens.delete token
end

#generateObject



427
428
429
430
431
432
433
434
435
# File 'lib/bone/api.rb', line 427

def generate
  begin 
    token = Bone.random_token 
    attemps ||= 10
  end while token?(token) && !(attempts -= 1).zero?
  secret = Bone.random_secret
  @tokens[token] = secret
  [token, secret]
end

#get(token, secret, name) ⇒ Object



402
403
404
# File 'lib/bone/api.rb', line 402

def get(token, secret, name)
  @data[Bone::API.prefix(token, name)]
end

#key?(token, secret, name) ⇒ Boolean

Returns:

  • (Boolean)


413
414
415
# File 'lib/bone/api.rb', line 413

def key?(token, secret, name)
  @data.has_key?(Bone::API.prefix(token, name))
end

#keys(token, secret, filter = '*') ⇒ Object



408
409
410
411
412
# File 'lib/bone/api.rb', line 408

def keys(token, secret, filter='*')
  filter = '.+' if filter == '*'
  filter = Bone::API.prefix(token, filter)
  @data.keys.select { |name| name =~ /#{filter}/ }
end

#register(token, secret) ⇒ Object

Raises:

  • (RuntimeError)


419
420
421
422
423
# File 'lib/bone/api.rb', line 419

def register(token, secret)
  raise RuntimeError, "Could not generate token" if token.nil? || token?(token)
  @tokens[token] = secret
  token
end

#secret(token) ⇒ Object



424
425
426
# File 'lib/bone/api.rb', line 424

def secret(token)
  @tokens[token]
end

#set(token, secret, name, value) ⇒ Object



405
406
407
# File 'lib/bone/api.rb', line 405

def set(token, secret, name, value)
  @data[Bone::API.prefix(token, name)] = value.to_s
end

#token?(token, secret = nil) ⇒ Boolean

Returns:

  • (Boolean)


436
437
438
# File 'lib/bone/api.rb', line 436

def token?(token, secret=nil)
  @tokens.key?(token)
end