Module: PulseMeter::Mixins::Dumper::ClassMethods
- Defined in:
- lib/pulse-meter/mixins/dumper.rb
Instance Method Summary collapse
-
#list_names ⇒ Array<String>
Lists all dumped objects’ names.
-
#list_objects ⇒ Array<Object>
Safely restores all dumped objects.
-
#restore(name) ⇒ Object
Restores object from Redis.
Instance Method Details
#list_names ⇒ Array<String>
Lists all dumped objects’ names
62 63 64 65 66 |
# File 'lib/pulse-meter/mixins/dumper.rb', line 62 def list_names PulseMeter.redis.hkeys(DUMP_REDIS_KEY) rescue raise RestoreError, "cannot get data from redis" end |
#list_objects ⇒ Array<Object>
Safely restores all dumped objects
70 71 72 73 74 75 76 77 |
# File 'lib/pulse-meter/mixins/dumper.rb', line 70 def list_objects list_names.each_with_object([]) do |name, objects| begin objects << restore(name) rescue end end end |
#restore(name) ⇒ Object
Restores object from Redis
52 53 54 55 56 57 |
# File 'lib/pulse-meter/mixins/dumper.rb', line 52 def restore(name) serialized_obj = PulseMeter.redis.hget(DUMP_REDIS_KEY, name) YAML::load(serialized_obj) rescue raise RestoreError, "cannot restore #{name}" end |