Module: RSpeed::Redis

Defined in:
lib/rspeed/redis.rb

Class Method Summary collapse

Class Method Details

.clean_pipes_flagObject



9
10
11
# File 'lib/rspeed/redis.rb', line 9

def clean_pipes_flag
  destroy(RSpeed::Variable::PIPES_PATTERN)
end

.clientObject



13
14
15
# File 'lib/rspeed/redis.rb', line 13

def client
  @client ||= ::Redis.new(db: RSpeed::Env.db, host: RSpeed::Env.host, port: RSpeed::Env.port)
end

.destroy(pattern = RSpeed::Variable::DEFAULT_PATTERN) ⇒ Object



17
18
19
# File 'lib/rspeed/redis.rb', line 17

def destroy(pattern = RSpeed::Variable::DEFAULT_PATTERN)
  keys(pattern).each { |key| client.del(key) }
end

.get(key) ⇒ Object



21
22
23
# File 'lib/rspeed/redis.rb', line 21

def get(key)
  client.get(key)
end

.keys(pattern = RSpeed::Variable::DEFAULT_PATTERN) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/rspeed/redis.rb', line 25

def keys(pattern = RSpeed::Variable::DEFAULT_PATTERN)
  cursor = 0
  result = []

  loop do
    cursor, results = client.scan(cursor, match: pattern)
    result += results

    break if cursor.to_i.zero?
  end

  result
end

.result?Boolean

Returns:

  • (Boolean)


39
40
41
# File 'lib/rspeed/redis.rb', line 39

def result?
  keys(RSpeed::Env.result_key).any?
end

.set(key, value) ⇒ Object



43
44
45
# File 'lib/rspeed/redis.rb', line 43

def set(key, value)
  client.set(key, value)
end

.specs_finished?Boolean

Returns:

  • (Boolean)


47
48
49
# File 'lib/rspeed/redis.rb', line 47

def specs_finished?
  RSpeed::Redis.keys(RSpeed::Variable::PIPES_PATTERN).size == RSpeed::Env.pipes
end

.specs_initiated?Boolean

Returns:

  • (Boolean)


51
52
53
# File 'lib/rspeed/redis.rb', line 51

def specs_initiated?
  RSpeed::Redis.keys(RSpeed::Variable::PIPES_PATTERN).any?
end