Я нашел HotBits несколько лет назад - числа сгенерированы от радиоактивного распада, действительно случайный числа.
существуют пределы на то, сколько чисел можно загрузить день, но меня всегда развлекало использовать их как действительно, действительно случайные семена для RNG.
Как сказал Дженгер, mock_model - это расширение, созданное для активной записи:
Это источник в 1.2.6:
def mock_model(model_class, options_and_stubs = {})
id = options_and_stubs[:id] || next_id
options_and_stubs = options_and_stubs.reverse_merge({
:id => id,
:to_param => id.to_s,
:new_record? => false,
:errors => stub("errors", :count => 0)
})
m = mock("#{model_class.name}_#{id}", options_and_stubs)
m.__send__(:__mock_proxy).instance_eval <<-CODE
def @target.as_new_record
self.stub!(:id).and_return nil
self.stub!(:to_param).and_return nil
self.stub!(:new_record?).and_return true
self
end
def @target.is_a?(other)
#{model_class}.ancestors.include?(other)
end
def @target.kind_of?(other)
#{model_class}.ancestors.include?(other)
end
def @target.instance_of?(other)
other == #{model_class}
end
def @target.class
#{model_class}
end
CODE
yield m if block_given?
m
end
Так что это довольно много, но оно
Он также расширяет экземпляр модели с помощью множества вещей.
От: Полезные помощники для фиксации RSpec
Во-первых,
mock_model
автоматически определяет уникальные идентификаторы для моделей, которые были созданы с его помощью. Во-вторых, это определяет методыto_param
(возвращает строковое представление идентификатора) иnew_record?
(возвращает false).