3 Stimmen

Machinist + RSpec und reservierte Wörter

Ich habe einen Bauplan:

Model.blueprint(:something) do
  name "Some name"
  context "some context"
end

"context" ist ein Attribut von Model, aber es ist auch ein reserviertes Wort von RSpec. Wenn ich versuche, ein Objekt zu erstellen, erhalte ich ArgumentError in der Zeile "context".

Haben Sie eine Idee, wie man diese Situation lösen kann?

0voto

u2622 Punkte 2951

Es ist nicht möglich, dieses Problem mit Machinist 2.0.0.beta2 zu reproduzieren.

Maschinist arbeitet durch Übersteuerung method_missing? und dann auf der Grundlage dieser Argumente Attribute zuweisen. Wenn rspec irgendwie ein context Methode zu den Objekten von Machinist's Lathe, dann wird diese Methode vor method_missing? . Wenn das Problem weiterhin auftritt, können Sie versuchen, mit remove_method :context bevor die Attribute ausgewertet werden:

Model.blueprint(:something) do
  remove_method :context
  name "Some name"
  context "some context"
  alias_method :context, :describe
end

Ich kann nicht sagen, ob das funktioniert, da ich es vor Ort nicht nachmachen kann, aber ich würde es versuchen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X