Class: Fragmenter::Redis
- Inherits:
-
Object
- Object
- Fragmenter::Redis
- Extended by:
- Forwardable
- Defined in:
- lib/fragmenter/redis.rb
Instance Attribute Summary collapse
-
#fragmenter ⇒ Object
readonly
Returns the value of attribute fragmenter.
Instance Method Summary collapse
- #clean! ⇒ Object
- #complete? ⇒ Boolean
- #fragments ⇒ Object
-
#initialize(fragmenter) ⇒ Redis
constructor
A new instance of Redis.
- #meta ⇒ Object
- #meta_key ⇒ Object
- #rebuild ⇒ Object
- #store(blob, options) ⇒ Object
- #store_key ⇒ Object
Constructor Details
#initialize(fragmenter) ⇒ Redis
Returns a new instance of Redis.
13 14 15 |
# File 'lib/fragmenter/redis.rb', line 13 def initialize(fragmenter) @fragmenter = fragmenter end |
Instance Attribute Details
#fragmenter ⇒ Object (readonly)
Returns the value of attribute fragmenter.
11 12 13 |
# File 'lib/fragmenter/redis.rb', line 11 def fragmenter @fragmenter end |
Instance Method Details
#clean! ⇒ Object
57 58 59 |
# File 'lib/fragmenter/redis.rb', line 57 def clean! redis.del store_key, end |
#complete? ⇒ Boolean
43 44 45 |
# File 'lib/fragmenter/redis.rb', line 43 def complete? redis.hlen(store_key).to_s == redis.hget(, :total) end |
#fragments ⇒ Object
39 40 41 |
# File 'lib/fragmenter/redis.rb', line 39 def fragments redis.hkeys(store_key).sort end |
#meta ⇒ Object
35 36 37 |
# File 'lib/fragmenter/redis.rb', line 35 def redis.hgetall end |
#meta_key ⇒ Object
21 22 23 |
# File 'lib/fragmenter/redis.rb', line 21 def [store_key, 'options'].join('-') end |
#rebuild ⇒ Object
47 48 49 50 51 52 53 54 55 |
# File 'lib/fragmenter/redis.rb', line 47 def rebuild benchmark_rebuilding do redis.hmget(store_key, *fragments).join('') end rescue ::Redis::CommandError log 'Failure rebuilding, most likely there are no fragments to rebuild' '' end |
#store(blob, options) ⇒ Object
25 26 27 28 29 30 31 32 33 |
# File 'lib/fragmenter/redis.rb', line 25 def store(blob, ) fragment = Fragmenter::Fragment.new(blob, ) if fragment.valid? persist_fragment(fragment) else false end end |
#store_key ⇒ Object
17 18 19 |
# File 'lib/fragmenter/redis.rb', line 17 def store_key fragmenter.key end |