2016-05-04 5 views
2

Wenn Modelle für die Fortsetzung Datenbank gem in Ruby eine Syntax wie folgt verwendet wird, zu erstellen:Rubin Vererbung Syntax - Argumente für die Basisklasse vorbei

class Users < Sequel::Model(:users) # <= what method is getting called here? 
# other stuff... 
end 

Wo :users der Name der Tabelle ist.

Ich möchte ein Argument an die Basisklasse wie folgt übergeben, wenn die Kindklasse für eine meiner eigenen Klassen definiert ist, aber ich kann nicht herausfinden, wie es geht. Ich weiß nicht, wie diese Syntax heißt, und ich konnte beim googlen keine Beispiele dafür finden. Ich habe versucht, auch die Quelle für Sequel :: Model zu suchen, aber es war eine so große Klasse, dass ich den relevanten Abschnitt nicht finden konnte.

Hat jemand wie diese Syntax ist und wie es funktioniert?

+1

Eine Sache zu prüfen: Haben Sie wirklich Syntax verwenden möchten, so obskur ist, können Sie Schwierigkeiten haben, es selbst? Könnte es wert sein, mit etwas etwas banaler zu gehen (aber was andere Betreuer in Zukunft leichter verstehen könnten). Nur ein Gedanke. – ezuk

Antwort

3

Es ist ein üblicher Trick, einen normalen Klassen-/Modulmethodenaufruf wie einen parametrisierten Typ aussehen zu lassen.

Es gibt tatsächlich eine Modulmethode Sequel::Model, die ein einzelnes Argument akzeptiert und eine Klasse zurückgibt (siehe the source code).

+0

ah richtig ok, es ist keine spezielle Syntax, nur eine Methode, die eine Klasse zurückgibt ... – Nathan

Verwandte Themen