/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/ruby/ruby-511-102-016/main.rb
54 строки
1 KB
Spirzen
Code migration pack
09 июн 2026, 01:41
09 июн 2026, 01:41
cebc284
Код
Авторство
О чём код?
module Loggable def log(message) timestamp = Time.now.strftime("%Y-%m-%d %H:%M:%S") puts "[#{timestamp}] #{message}" end def log_error(error) log("ERROR: #{error}") end def log_info(info) log("INFO: #{info}") end end module Validatable def validate_presence(field, value) unless value && !value.to_s.strip.empty? errors << "#{field} не может быть пустым" end end def validate_length(field, value, min:, max:) length = value.to_s.length if length < min errors << "#{field} должен быть не менее #{min} символов" elsif length > max errors << "#{field} должен быть не более #{max} символов" end end def errors @errors ||= [] end def valid? errors.empty? end end module Timestampable attr_reader :created_at, :updated_at def touch @updated_at = Time.now end private def set_timestamps @created_at = Time.now @updated_at = Time.now end end