Class: ActiveadminMcp::ApiToken

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/activeadmin_mcp/api_token.rb

Constant Summary collapse

LAST_USED_THROTTLE =
5.minutes

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#raw_tokenObject

Returns the value of attribute raw_token.



12
13
14
# File 'app/models/activeadmin_mcp/api_token.rb', line 12

def raw_token
  @raw_token
end

Class Method Details

.digest(raw_token) ⇒ Object



27
28
29
# File 'app/models/activeadmin_mcp/api_token.rb', line 27

def self.digest(raw_token)
  Digest::SHA256.hexdigest(raw_token)
end

.find_by_raw_token(raw_token) ⇒ Object



21
22
23
24
25
# File 'app/models/activeadmin_mcp/api_token.rb', line 21

def self.find_by_raw_token(raw_token)
  return nil if raw_token.blank?

  find_by(token_digest: digest(raw_token))
end

Instance Method Details

#touch_last_used!Object



31
32
33
34
35
# File 'app/models/activeadmin_mcp/api_token.rb', line 31

def touch_last_used!
  return if last_used_at.present? && last_used_at > LAST_USED_THROTTLE.ago

  update_column(:last_used_at, Time.current)
end