summaryrefslogtreecommitdiff
path: root/lib/trunk/storage.rb
blob: 5e877890d4a0ee73f1e252598604e290afb19853 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
module Trunk
  class Storage
    attr_reader :hash

    def initialize(hash, serializer)
      @hash = hash
      @serializer = serializer
    end

    def fetch(key)
      value = @hash[key]
      return if value.nil?
      @serializer.deserialize(value)
    end

    def store(key, value)
      @hash[key] = @serializer.serialize(value)
    end
  end
end