lib/cpee/persistence.rb in cpee-2.1.29 vs lib/cpee/persistence.rb in cpee-2.1.30

- old
+ new

@@ -13,10 +13,12 @@ # <http://www.gnu.org/licenses/>. module CPEE module Persistence + OBJ = 'instance' + def self::set_list(id,opts,item,values,deleted=[]) #{{{ ah = AttributesHelper.new attributes = Persistence::extract_list(id,opts,'attributes').to_h dataelements = Persistence::extract_list(id,opts,'dataelements').to_h endpoints = Persistence::extract_list(id,opts,'endpoints').to_h @@ -35,17 +37,17 @@ }, opts[:redis] ) end #}}} def self::extract_set(id,opts,item) #{{{ - opts[:redis].smembers("instance:#{id}/#{item}").map do |e| - [e,opts[:redis].get("instance:#{id}/#{item}/#{e}")] + opts[:redis].smembers(OBJ + ":#{id}/#{item}").map do |e| + [e,opts[:redis].get(OBJ + ":#{id}/#{item}/#{e}")] end end #}}} def self::extract_list(id,opts,item) #{{{ - opts[:redis].zrange("instance:#{id}/#{item}",0,-1).map do |e| - [e,opts[:redis].get("instance:#{id}/#{item}/#{e}")] + opts[:redis].zrange(OBJ + ":#{id}/#{item}",0,-1).map do |e| + [e,opts[:redis].get(OBJ + ":#{id}/#{item}/#{e}")] end end #}}} def self::set_item(id,opts,item,value) #{{{ CPEE::Message::send( @@ -58,19 +60,36 @@ value, opts[:redis] ) end #}}} def self::extract_item(id,opts,item) #{{{ - opts[:redis].get("instance:#{id}/#{item}") + opts[:redis].get(OBJ + ":#{id}/#{item}") end #}}} def self::exists?(id,opts) #{{{ - opts[:redis].exists?("instance:#{id}/state") + opts[:redis].exists?(OBJ + ":#{id}/state") end #}}} + def self::is_member?(id,opts,item,value) #{{{ + opts[:redis].sismember(OBJ + ":#{id}/#{item}",value) + end #}}} + def self::each_object(opts) + opts[:redis].zrevrange(OBJ + 's',0,-1).each do |instance| + yield instance + end + end + + def self::new_object(opts) + opts[:redis].zrevrange(OBJ + 's', 0, 0).first.to_i + 1 + end + + def self::keys(id,opts,item=nil) + opts[:redis].keys(File.join(OBJ + ":#{id}",item.to_s,'*')) + end + def self::set_handler(id,opts,key,url,values,update=false) #{{{ - exis = opts[:redis].smembers("instance:#{id}/handlers/#{key}") + exis = opts[:redis].smembers(OBJ + ":#{id}/handlers/#{key}") if update == false && exis.length > 0 return 405 end @@ -99,17 +118,17 @@ ) 200 end #}}} def self::extract_handler(id,opts,key) #{{{ - opts[:redis].smembers("instance:#{id}/handlers/#{key}") + opts[:redis].smembers(OBJ + ":#{id}/handlers/#{key}") end #}}} def self::exists_handler?(id,opts,key) #{{{ - opts[:redis].exists?("instance:#{id}/handlers/#{key}") + opts[:redis].exists?(OBJ + ":#{id}/handlers/#{key}") end #}}} def self::extract_handlers(id,opts) #{{{ - opts[:redis].smembers("instance:#{id}/handlers").map do |e| - [e, opts[:redis].get("instance:#{id}/handlers/#{e}/url")] + opts[:redis].smembers(OBJ + ":#{id}/handlers").map do |e| + [e, opts[:redis].get(OBJ + ":#{id}/handlers/#{e}/url")] end end #}}} end end