Module: CPEE::Persistence
- Defined in:
- lib/cpee/persistence.rb
Class Method Summary collapse
-
.exists_handler?(id, opts, key) ⇒ Boolean
}}}.
-
.extract_handler(id, opts, key) ⇒ Object
}}}.
-
.extract_handlers(id, opts) ⇒ Object
}}}.
-
.extract_item(id, opts, item) ⇒ Object
}}}.
-
.extract_list(id, opts, item) ⇒ Object
}}}.
-
.extract_set(id, opts, item) ⇒ Object
}}}.
-
.set_handler(id, opts, key, url, values, update = false) ⇒ Object
}}}.
-
.set_item(id, opts, item, value) ⇒ Object
}}}.
-
.set_list(id, opts, item, values, deleted = []) ⇒ Object
{{{.
Class Method Details
.exists_handler?(id, opts, key) ⇒ Boolean
}}}
102 103 104 |
# File 'lib/cpee/persistence.rb', line 102 def self::exists_handler?(id,opts,key) #{{{ opts[:redis].exists?("instance:#{id}/handlers/#{key}") end |
.extract_handler(id, opts, key) ⇒ Object
}}}
99 100 101 |
# File 'lib/cpee/persistence.rb', line 99 def self::extract_handler(id,opts,key) #{{{ opts[:redis].smembers("instance:#{id}/handlers/#{key}") end |
.extract_handlers(id, opts) ⇒ Object
}}}
105 106 107 108 109 |
# File 'lib/cpee/persistence.rb', line 105 def self::extract_handlers(id,opts) #{{{ opts[:redis].smembers("instance:#{id}/handlers").map do |e| [e, opts[:redis].get("instance:#{id}/handlers/#{e}/url")] end end |
.extract_item(id, opts, item) ⇒ Object
}}}
62 63 64 |
# File 'lib/cpee/persistence.rb', line 62 def self::extract_item(id,opts,item) #{{{ opts[:redis].get("instance:#{id}/#{item}") end |
.extract_list(id, opts, item) ⇒ Object
}}}
44 45 46 47 48 |
# File 'lib/cpee/persistence.rb', line 44 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}")] end end |
.extract_set(id, opts, item) ⇒ Object
}}}
39 40 41 42 43 |
# File 'lib/cpee/persistence.rb', line 39 def self::extract_set(id,opts,item) #{{{ opts[:redis].smembers("instance:#{id}/#{item}").map do |e| [e,opts[:redis].get("instance:#{id}/#{item}/#{e}")] end end |
.set_handler(id, opts, key, url, values, update = false) ⇒ Object
}}}
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
# File 'lib/cpee/persistence.rb', line 66 def self::set_handler(id,opts,key,url,values,update=false) #{{{ exis = opts[:redis].smembers("instance:#{id}/handlers/#{key}") if update == false && exis.length > 0 return 405 end 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 deleted = exis - values CPEE::Message::send( :event, 'handler/change', opts[:url], id, Persistence::extract_item(id,opts,'attributes/uuid'), Persistence::extract_item(id,opts,'attributes/info'), { :key => key, :url => url, :changed => values, :deleted => deleted, :attributes => ah.translate(attributes,dataelements,endpoints), }, opts[:redis] ) 200 end |
.set_item(id, opts, item, value) ⇒ Object
}}}
50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/cpee/persistence.rb', line 50 def self::set_item(id,opts,item,value) #{{{ CPEE::Message::send( :event, File.join(item,'change'), opts[:url], id, Persistence::extract_item(id,opts,'attributes/uuid'), Persistence::extract_item(id,opts,'attributes/info'), value, opts[:redis] ) end |
.set_list(id, opts, item, values, deleted = []) ⇒ Object
{{{
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/cpee/persistence.rb', line 18 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 CPEE::Message::send( :event, File.join(item,'change'), opts[:url], id, Persistence::extract_item(id,opts,'attributes/uuid'), Persistence::extract_item(id,opts,'attributes/info'), { :changed => values.keys, :deleted => deleted, :values => values, :attributes => ah.translate(attributes,dataelements,endpoints), }, opts[:redis] ) end |