Class: Routes::Analyzer::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/routes/analyzer/configuration.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize ⇒ Configuration

Returns a new instance of Configuration.



6
7
8
9
10
# File 'lib/routes/analyzer/configuration.rb', line 6

def initialize
  @redis_url = nil
  @redis_key_prefix = "routes_analyzer"
  @timeframe = 30 # days
end

Instance Attribute Details

#redis_key_prefix ⇒ Object

Returns the value of attribute redis_key_prefix.



4
5
6
# File 'lib/routes/analyzer/configuration.rb', line 4

def redis_key_prefix
  @redis_key_prefix
end

#redis_url ⇒ Object

Returns the value of attribute redis_url.



4
5
6
# File 'lib/routes/analyzer/configuration.rb', line 4

def redis_url
  @redis_url
end

#timeframe ⇒ Object

Returns the value of attribute timeframe.



4
5
6
# File 'lib/routes/analyzer/configuration.rb', line 4

def timeframe
  @timeframe
end

Instance Method Details

#redis_client ⇒ Object



12
13
14
# File 'lib/routes/analyzer/configuration.rb', line 12

def redis_client
  @redis_client ||= Redis.new(url: redis_url) if redis_url
end

#valid? ⇒ Boolean

Returns:

  • (Boolean)


25
26
27
28
29
30
31
32
# File 'lib/routes/analyzer/configuration.rb', line 25

def valid?
  return false unless redis_url

  redis_client.ping
  true
rescue Redis::BaseError
  false
end

#validate! ⇒ Object



16
17
18
19
20
21
22
23
# File 'lib/routes/analyzer/configuration.rb', line 16

def validate!
  raise "Redis URL must be configured" unless redis_url

  # Test Redis connection
  redis_client.ping
rescue Redis::BaseError => e
  raise "Failed to connect to Redis: #{e.message}"
end