lib/validation/condition.rb
def CAN(message1, *messages)
      messages = [message1, *messages]
      unless messages.all?{|s|
                [Symbol, String].any?{|klass|s.kind_of? klass}
              }
        raise TypeError, 'only Symbol or String for message'
      end

      ->v{
        messages.all?{|message|v.respond_to? message}
      }
    end
def CAN(message1, *messages)
      messages = [message1, *messages]
      unless messages.all?{|s|
                [Symbol, String].any?{|klass|s.kind_of? klass}
              }
        raise TypeError, 'only Symbol or String for message'
      end

      ->v{
        messages.all?{|message|v.respond_to? message}
      }
    end
def CAN ( message1 , * messages ) messages = [ message1 , messages ] unless messages . all? { | s | [ Symbol , String ] . any? { | klass | s . kind_of? klass } } raise TypeError , 'only Symbol or String for message' end -> v { messages . all? { | message | v . respond_to? message } } end
A condition builder.
 @param messages [Symbol, String]
 @return [lambda]
   this lambda return true if a argment respond to all messages
A condition builder .