2017-09-17 3 views
2

Railsは役に立ちますpresent?メソッドです。 Hanamiでどうすれば確認できますか?花梨さんに.presentの代替手段がありますか?

+0

'存在を使用するためのユースケースは何ですか?'。それはパラメータチェックのためですか? '現在の呼び出しよりもそれを行うのより良い方法があります?'。 –

答えて

4

present?は、Ruby on Railsの中blank?の反対です。あなたはHanami::Utils::Blank使用することができ

require 'hanami/utils/blank' 

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

しかし2つの懸念がある:

と等しくありません

このメソッドはプライベートAPIの一部です。可能であれば、このメソッドを使用しないでください。削除または変更される可能性があります。あなたがRailsの

Active Support上のRubyなしActiveSupportを使用することができます

ユーティリティクラスと標準ライブラリの拡張のコレクションです。これは別の宝石で、あなたはそれを単独で使うことができます。セマンティクスが適している場合は、純粋なRubyとそのnil?empty?メソッドを使用して好むかもしれ

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

    def present? 
    !blank? 
    end 
end 

そして最後のオプション

:あなたはObjectを拡張することができ

+2

きれい[純粋なルビー](https://stackoverflow.com/a/26877095/3784008)でこれを行うための方法がたくさんあります。 – anothermh

関連する問題