Class: Gitlab::MergeRequests::Mergeability::RedisInterface

Inherits:
Object
  • Object
show all
Defined in:
lib/gitlab/merge_requests/mergeability/redis_interface.rb

Constant Summary collapse

EXPIRATION =
6.hours
VERSION =
1

Instance Method Summary collapse

Instance Method Details

#retrieve_check(merge_check:) ⇒ Object



15
16
17
18
19
# File 'lib/gitlab/merge_requests/mergeability/redis_interface.rb', line 15

def retrieve_check(merge_check:)
  with_redis do |redis|
    Gitlab::Json.parse(redis.get(merge_check.cache_key + ":#{VERSION}"), symbolize_keys: true)
  end
end

#save_check(merge_check:, result_hash:) ⇒ Object



9
10
11
12
13
# File 'lib/gitlab/merge_requests/mergeability/redis_interface.rb', line 9

def save_check(merge_check:, result_hash:)
  with_redis do |redis|
    redis.set(merge_check.cache_key + ":#{VERSION}", result_hash.to_json, ex: EXPIRATION)
  end
end

#with_redis(&block) ⇒ Object



21
22
23
# File 'lib/gitlab/merge_requests/mergeability/redis_interface.rb', line 21

def with_redis(&block)
  Gitlab::Redis::Cache.with(&block) # rubocop:disable CodeReuse/ActiveRecord
end