module Taskinator::Persistence
Public Class Methods
add_process_to_list(process)
click to toggle source
# File lib/taskinator/persistence.rb, line 9 def add_process_to_list(process) Taskinator.redis do |conn| conn.sadd processes_list_key(process.scope), process.uuid end end
deserialize(yaml)
click to toggle source
# File lib/taskinator/persistence.rb, line 659 def deserialize(yaml) values = YAML.load(yaml) if values.is_a?(Array) values = values.collect {|value| (value.respond_to?(:model_id) && value.respond_to?(:find)) ? value.find : value } elsif values.is_a?(Hash) values.each {|key, value| values[key] = value.find if value.respond_to?(:model_id) && value.respond_to?(:find) } elsif values.respond_to?(:model_id) && values.respond_to?(:find) values = values.find end values end
included(klass)
click to toggle source
mixin logic
# File lib/taskinator/persistence.rb, line 17 def self.included(klass) klass.class_eval do extend ClassMethods include InstanceMethods end end
processes_list_key(scope=:shared)
click to toggle source
# File lib/taskinator/persistence.rb, line 5 def processes_list_key(scope=:shared) "taskinator:#{scope}:processes" end
serialize(values)
click to toggle source
# File lib/taskinator/persistence.rb, line 643 def serialize(values) # special case, convert models to global id's if values.is_a?(Array) values = values.collect {|value| value.respond_to?(:to_global_id) ? value.to_global_id : value } elsif values.is_a?(Hash) values.each {|key, value| values[key] = value.to_global_id if value.respond_to?(:to_global_id) } elsif values.respond_to?(:to_global_id) values = values.to_global_id end YAML.dump(values) end