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.



396
397
398
# File 'lib/bone/api.rb', line 396

def token_suffix
  @token_suffix
end

Instance Method Details

#connectObject



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

def connect
end

#destroy(token, secret) ⇒ Object



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

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

#generateObject



423
424
425
426
427
428
429
430
431
# File 'lib/bone/api.rb', line 423

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



398
399
400
# File 'lib/bone/api.rb', line 398

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

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

Returns:

  • (Boolean)


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

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

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



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

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)


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

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

#secret(token) ⇒ Object



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

def secret(token)
  @tokens[token]
end

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



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

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

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

Returns:

  • (Boolean)


432
433
434
# File 'lib/bone/api.rb', line 432

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