Class: MCP::Rails::BypassKeyManager

Inherits:
Object
  • Object
show all
Defined in:
lib/mcp/rails/bypass_key_manager.rb

Class Method Summary collapse

Class Method Details

.create_new_keyObject



28
29
30
# File 'lib/mcp/rails/bypass_key_manager.rb', line 28

def create_new_key
  save_key(generate_key)
end

.generate_keyObject



7
8
9
# File 'lib/mcp/rails/bypass_key_manager.rb', line 7

def generate_key
  SecureRandom.hex(32)
end

.keyObject



24
25
26
# File 'lib/mcp/rails/bypass_key_manager.rb', line 24

def key
  load_key || save_key
end

.load_keyObject



19
20
21
22
# File 'lib/mcp/rails/bypass_key_manager.rb', line 19

def load_key
  return nil unless File.exist?(MCP::Rails.configuration.bypass_key_path)
  File.read(MCP::Rails.configuration.bypass_key_path).strip
end

.save_key(key = nil) ⇒ Object



11
12
13
14
15
16
17
# File 'lib/mcp/rails/bypass_key_manager.rb', line 11

def save_key(key = nil)
  key ||= generate_key
  config = MCP::Rails.configuration
  FileUtils.mkdir_p(File.dirname(config.bypass_key_path))
  File.write(config.bypass_key_path, key)
  key
end