[RUBY] Ruft die als Argument übergebene Zeichenfolge als Methode mit send auf

Überblick

Ich habe gelernt, wie man die Sendemethode verwendet. Machen Sie sich also eine Notiz.

Ich hatte ein Formular, in dem ich bis zu zwei Bilder anhängen konnte, und ich wollte herausfinden, wie groß der Beitrag war, also habe ich versucht, ein Protokoll zu erstellen.

Also habe ich ursprünglich den folgenden Code geschrieben.

Vor dem Refactoring

validate :checking_image_size_over_limit

def checking_image_size_over_limit
  logging_image_size(image_first, 'first') if image_first.present?
  logging_image_size(image_second, 'second') if image_second.present?
end

def logging_image_size(image, number)
  if image&.size >= 5 * 1024 * 1024
    Rails.logger.info "[#{self.class.name}] Over 5MB of images (image_#{number})"
  end
end

Ich wollte feststellen, ob es sich um das erste oder das zweite Blatt handelt, also habe ich eine Zeichenfolge als zweites Argument übergeben und sie in der Protokollnachricht erweitert. Ich erhielt jedoch eine Bewertung von meinem Senior und schrieb sie neu und sagte: "Wenn ja, können Sie send mit nur einem Argument verwenden."

Nach dem Refactoring

validate :checking_image_size_over_limit

def checking_image_size_over_limit
  logging_image_size('image_first') if image_first.present?
  logging_image_size('image_second') if image_second.present?
end

def logging_image_size(image)
  if send(image)&.size >= 5 * 1024 * 1024
    Rails.logger.info "[#{self.class.name}] Over 5MB of images (#{image})"
  end
end

Apropos Senden, ich hatte nur das Bild, es zum dynamischen Wechseln von Methoden zu verwenden, aber ich habe gelernt, dass es auch verwendet werden kann, indem die als Argument übergebene Zeichenfolge erneut als Methode aufgerufen wird.

Recommended Posts

Ruft die als Argument übergebene Zeichenfolge als Methode mit send auf
Lesen Sie die Datei unter dem Klassenpfad als Zeichenfolge mit spring
[Rubiy] Ich möchte mit der Split-Methode ein Array aus einer Zeichenfolge erstellen. Und umgekehrt.
Informationen zur Methode zum Konvertieren einer Zeichenfolge in eine Ganzzahl / einen Bruch (Umwandlungsdaten) in Java
Geben Sie ein Suffix für die Methode an
Geben Sie ein Suffix für Methode 2 heraus
Argumente mit Standardwerten Nehmen Sie als Beispiel die Methode full_title des Rails-Lernprogramms
[Java] Schneiden Sie einen Teil der Zeichenfolge mit Matcher und regulären Ausdrücken aus
[Ruby] Schneiden Sie eine Zeichenfolge mit der Slice-Methode aus
Senden Sie eine E-Mail mit einem PDF-Anhang über JavaMail
Anmerkung Nr. 6 "Berechnen Sie die Formel für die als Zeichenfolge empfangene einstellige Summendifferenz" [Java]
Stellen Sie Datum und Uhrzeit aus der Zeichenfolge mit POI ein
Vorsichtsmaßnahmen bei der Verwendung von Mockito.anyString als Argument beim Verspotten mit Mockito
Java learning_Behavior, wenn ein Feld mit demselben Namen und eine Methode mit demselben Namen in zwei Klassen in einer Vererbungsbeziehung vorhanden sind
[Java] So suchen Sie mit der Methode includes nach Werten in einem Array (oder einer Liste)
Code zum Angeben des Bildnamens als Zeichenfolge und Einfügen in ImageView (android)
[ruby] Eine Methode mit einem Argument aufrufen
Wenn die von JNA an C ++ übergebene Zeichenfolge verstümmelt ist
Sortieren einer Liste mit einem Array vom Typ int als Element (Java) (Comparator)
Herstellen einer Verbindung zu einer Datenbank mit Java (Teil 1) Möglicherweise die grundlegende Methode
[Rails] So lassen Sie die Anzeige der Zeichenfolge der link_to-Methode weg