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