ruby

A collection of 9 posts
ruby

Ruby: nil? empty? blank? present?

В Ruby on Rails доступны несколько методов для проверки существования значения или состояния объекта. Ruby предлагает nil?, empty? и Rails добавляет blank? и present?. Каждый из методов имеет свою логику и назначение. И конечно предполагает применение в нужном контексте. nil? Метод класса Object в Ruby. Что означает его повсеместную доступность.
1 min read
slimrb
ruby

slimrb

Преобразование Slim в Erb. slimrb консольная утилита запускается в командной строке. Использование Slim в качестве основного шаблонизатора очень удобно и продуктивно. Но накладывает ограничения на форматирование. Не всегда удобно, когда в команде работают специалисты разного уровня подготовки. Для сложных и объемных страниц может быть сложным. Slim - супер решение, но
1 min read
Rails Multibase and Models
rails

Rails Multibase and Models

Rails 6.1 предлагает возможность использования одновременно нескольких баз данных. Для чего? Во первых можно распределить нагрузку и использовать одну из баз только для чтения, другую только на запись, например для админки. Конечно можно использовать разные типы баз данных в одном приложении. Это открывает еще больше возможностей, например для объединения
2 min read
pgsync
ruby

pgsync

Синхронизация одной Postgres базы данных в другую. pgsync декларирует следующие преимущества * скорость - таблицы передаются параллельно * безопасность - встроенные методы, чтобы исключить утечку чувствительных данных * гибкость - изящная обработка различий в схемах данных, например отсутствующих колонок * удобство - синхронизация части таблиц, групп таблиц, и относящихся записей Проверено в бою на
2 min read
mailcatcher
ruby

mailcatcher

Конечно да, можно использовать обычную почту, но для облачных IDE или изолированных контейнеров LXC или для DOCKER окружения удобней будет подменять SMTP и смотреть почту локально или в браузере. Особенно удобно когда работаем дистанционно через облако. Начиная с 2023 года использую maildev. Удобно и просто. Отдельно как сервис или в
2 min read
Rails TimeZone
rails

Rails TimeZone

Ruby предлагает два класса для управления временем: Time и DateTime. TZInfo является отдельной библиотекой часовых поясов, которая обеспечивает преобразования с учетом перехода на летнее время и включает в себя данные о 582 различных часовых поясах. Часовой пояс в Rails В Rails ActiveSupport::TimeZone является оберткой для TZInfo, предоставляющая набор из
2 min read
rails

Rails Request, Subdomain, Host

В Rails доступен request (ActionDispatch::Request) со всей необходимой информацией о запросе.  Основной базовый класс Rack::Request. Чтобы получить данные о различных параметрах  запроса используем встроенные методы и хелперы. Во первых мы можем получить полный базовый url - request.base_url. Получить имя хоста через request.host и имя поддомена,
rails

Rails Slim Markdown Tables

По умолчанию парсер таблиц отключен. И вместо таблиц будет обычная строка. Включить обработку разметки таблиц в связке Rails+Slim+Redcarpet можно через опции подключаемых движков. В данном случае Redcarpet для Markdown. Gemfile gem 'slim-rails' gem 'redcarpet' По умолчанию парсер таблиц отключен. config/initializers/slim.rb # Standard Slim options # Slim::Template.