summaryrefslogtreecommitdiff
path: root/lib/gitlab/null_request_store.rb
blob: 8db331dcb9f936b4fdb9636946f2198fba364f4c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# frozen_string_literal: true

# Used by Gitlab::SafeRequestStore
module Gitlab
  # The methods `begin!`, `clear!`, and `end!` are not defined because they
  # should only be called directly on `RequestStore`.
  class NullRequestStore
    def store
      {}
    end

    def active?
    end

    def read(key)
    end

    def [](key)
    end

    def write(key, value)
      value
    end

    def []=(key, value)
      value
    end

    def exist?(key)
      false
    end

    def fetch(key, &block)
      yield
    end

    def delete(key, &block)
      yield(key) if block_given?
    end
  end
end