Class: RequestContext

Inherits:
Object
  • Object
show all
Defined in:
app/models/request_context.rb

Class Method Summary collapse

Class Method Details

.clear!Object



7
8
9
# File 'app/models/request_context.rb', line 7

def clear!
  Thread.current[:context] = {}
end

.fetchObject



3
4
5
# File 'app/models/request_context.rb', line 3

def fetch
  Thread.current[:context] || clear!
end

.redisObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'app/models/request_context.rb', line 11

def redis
  if $redis
    $redis
  else
    processed = ERB.new(File.read(Rails.root.join('config', 'database.yml'))).result(binding)
    $redis ||= Redis.new(
      YAML.safe_load(processed,
                     permitted_classes: [],
                     permitted_symbols: [],
                     aliases: true)["redis_#{Rails.env}"].deep_symbolize_keys
    )
  end
rescue NoMethodError
  raise LoadError, "You don't appear to have any Redis config in config/database.yml"
end