Есть ли у Ханами альтернатива.present?

Rails имеет полезные present? метод. Как я могу проверить то же самое в Ханами?

1 ответ

Решение

present? противоположность blank? в Ruby on Rails.

Вы могли бы использовать Hanami::Utils::Blank :

require 'hanami/utils/blank'

Hanami::Utils::Blank.blank?(nil)     #=> true
Hanami::Utils::Blank.blank?(' ')     #=> true
Hanami::Utils::Blank.blank?('Artur') #=> false

Однако есть две проблемы:

Этот метод является частью частного API. Вы должны избегать использования этого метода, если это возможно, так как он может быть удален или изменен в будущем.

Вы могли бы использовать ActiveSupport без Ruby on Rails

Active Support - это набор служебных классов и стандартных расширений библиотеки. Это отдельный драгоценный камень, и вы можете использовать его самостоятельно.

Вы могли бы продлить Object :

class Object
  def blank?
    respond_to?(:empty?) ? !!empty? : !self
  end

  def present?
    !blank?
  end
end

И последний вариант

Вы можете использовать чистый Ruby и его nil? а также empty? методы, если семантика подходит.

Другие вопросы по тегам