November 2012
Intermediate to advanced
888 pages
54h 46m
Polish
Stworzyliśmy klasę (lub moduł), w której tworzenie niektórych zmiennych instancyjnych delegowane jest do metod przechwytujących. Chcemy upewnić się, że metody te prawidłowo definiują właściwe zmienne instancyjne.
Listę zmiennych instancyjnych obiektu uzyskać można za pomocą metody Object#instance_ variables, upewniając się, że żądane zmienne istotnie zostały zdefiniowane. Poniższa metoda weryfikuje obecność w danym obiekcie wszystkich zmiennych instancyjnych o podanych nazwach:
class Object def must_have_instance_variables(*args) vars = instance_variables.inject({}) { |h,var| h[var] = true; h } args.each do |var| unless vars[var] raise ArgumentError, %{Nie zdefiniowano zmiennej ...