module Jerakia::Scope::Server
Public Class Methods
find(realm, identifier)
click to toggle source
# File lib/jerakia/scope/server.rb, line 42 def find(realm, identifier) Database::Resource.first(:identifier => identifier, :realm => realm) end
store(realm, identifier, scope)
click to toggle source
# File lib/jerakia/scope/server.rb, line 47 def store(realm, identifier, scope) uuid = SecureRandom.uuid entry = find(realm, identifier) if entry.nil? Database::Resource.create(:identifier => identifier, :realm => realm, :scope => scope, :uuid => uuid) else entry.update({:scope => scope, :uuid => uuid}) entry.save end uuid end
Public Instance Methods
create()
click to toggle source
# File lib/jerakia/scope/server.rb, line 29 def create realm = request.scope_options['realm'] identifier = request.scope_options['identifier'] raise Jerakia::Error, "Must supply realm and identifier for server scope handler" unless realm and identifier resource = Jerakia::Scope::Server.find(realm, identifier) raise Jerakia::Error, "No scope data found for realm:#{realm} identifier:#{identifier}" if resource.nil? scope = resource.scope raise Jerakia::Error, "Scope did not return a hash for realm:#{realm} identifier:#{identifier}" unless scope.is_a?(Hash) @value = Hash[ scope.map { |k,v| [ k.to_sym, v ] } ] end