Spec-Zone.ru › Ruby on Rails 4.1

модуль ActionController::TestCase::Behavior::ClassMethods

Общедоступные методы экземпляров

controller_class() Показать исходный код
# File actionpack/lib/action_controller/test_case.rb, line 460
def controller_class
  if current_controller_class = self._controller_class
    current_controller_class
  else
    self.controller_class = determine_default_controller_class(name)
  end
end
controller_class=(new_class) Показать исходный код
# File actionpack/lib/action_controller/test_case.rb, line 455
def controller_class=(new_class)
  prepare_controller_class(new_class) if new_class
  self._controller_class = new_class
end
determine_default_controller_class(name) Показать исходный код
# File actionpack/lib/action_controller/test_case.rb, line 468
def determine_default_controller_class(name)
  determine_constant_from_test_name(name) do |constant|
    Class === constant && constant < ActionController::Metal
  end
end
prepare_controller_class(new_class) Показать исходный код
# File actionpack/lib/action_controller/test_case.rb, line 474
def prepare_controller_class(new_class)
  new_class.send :include, ActionController::TestCase::RaiseActionExceptions
end
tests(controller_class) Показать исходный код

Устанавливает имя класса контроллера. Полезно, если имя нельзя вывести из класса теста. Нормализует controller_class перед использованием.

tests WidgetController
tests :widget
tests 'widget'
# File actionpack/lib/action_controller/test_case.rb, line 444
def tests(controller_class)
  case controller_class
  when String, Symbol
    self.controller_class = "#{controller_class.to_s.camelize}Controller".constantize
  when Class
    self.controller_class = controller_class
  else
    raise ArgumentError, "controller class must be a String, Symbol, or Class"
  end
end

© 2004–2016 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API