Есть ли у Ханами альтернатива.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
Однако есть две проблемы:
blank?
не равноHanami::Utils::Blank.blank?
Hanami::Utils::Blank.blank?
считается частью частного API
Этот метод является частью частного 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?
методы, если семантика подходит.