Module: PulseMeter::Mixins::Dumper::InstanceMethods

Defined in:
lib/pulse-meter/mixins/dumper.rb

Instance Method Summary collapse

Instance Method Details

#cleanup_dumpObject

Cleans up object dump in Redis



29
30
31
# File 'lib/pulse-meter/mixins/dumper.rb', line 29

def cleanup_dump
  redis.hdel(DUMP_REDIS_KEY, self.name)
end

#dump!Object

Serializes object and saves it to Redis

Raises:

  • (DumpError)

    if dumping fails for any reason



13
14
15
16
17
18
19
# File 'lib/pulse-meter/mixins/dumper.rb', line 13

def dump!
  ensure_storability!
  serialized_obj = self.to_yaml
  redis.hset(DUMP_REDIS_KEY, self.name, serialized_obj)
rescue
  raise DumpError, "object cannot be dumped"
end

#ensure_storability!Object

Ensures that object is dumpable

Raises:



23
24
25
26
# File 'lib/pulse-meter/mixins/dumper.rb', line 23

def ensure_storability!
  raise DumpError, "#name attribute must be readable" unless self.respond_to?(:name)
  raise DumpError, "#redis attribute must be available" unless self.respond_to?(:redis) && self.redis
end