19 lines
459 B
Ruby
19 lines
459 B
Ruby
class Setting < ApplicationRecord
|
|
validates :key, presence: true, uniqueness: true
|
|
|
|
# Get a setting value by key, with optional fallback
|
|
def self.get(key, default = nil)
|
|
find_by(key: key)&.value || default
|
|
end
|
|
|
|
# Set a setting value by key
|
|
def self.set(key, value)
|
|
find_or_initialize_by(key: key).update(value: value)
|
|
end
|
|
|
|
# Convenience method for ipapi.is API key
|
|
def self.ipapi_key
|
|
get('ipapi_key', ENV['IPAPI_KEY'])
|
|
end
|
|
end
|