A hash of procs where the key is the class name, and the proc takes no arguments and returns true if it detects that said application framework is being used in the project.
The key :Rails maps to Spork::AppFramework::Rails
This is used to reduce the amount of code needed to be loaded - only the detected application frameworkâs support code is loaded.
If there is some stuff out of the box that the Spork can do to speed up tests without the test helper file being bootstrapped, this should return false.
# File lib/spork/app_framework.rb, line 57 def bootstrap_required? entry_point.nil? end
Abstract: The path to the file that loads the project environment, ie config/environment.rb. Returns nil if there is none.
# File lib/spork/app_framework.rb, line 62 def entry_point raise NotImplementedError end
# File lib/spork/app_framework.rb, line 66 def preload(&block) yield end
# File lib/spork/app_framework.rb, line 70 def short_name self.class.short_name end
Initializes, stores, and returns a singleton instance of the named AppFramework.
# name
- A symbolic name of a AppFramework subclass
Spork::AppFramework[:Rails]
# File lib/spork/app_framework.rb, line 48 def self.[](name) instances[name] ||= const_get(name).new end
Same as ::detect_framework_name, but returns an instance of the specific AppFramework class.
# File lib/spork/app_framework.rb, line 34 def self.detect_framework name = detect_framework_name self[name] end
Iterates through all SUPPORTED_FRAMEWORKS and returns the symbolic name of the project application framework detected. Otherwise, returns :Unknown
# File lib/spork/app_framework.rb, line 26 def self.detect_framework_name SUPPORTED_FRAMEWORKS.each do |key, value| return key if value.call end :Unknown end
# File lib/spork/app_framework.rb, line 19 def self.setup_autoload ([:Unknown] + SUPPORTED_FRAMEWORKS.keys).each do |name| autoload name, File.join(File.dirname(__FILE__), "app_framework", name.to_s.downcase) end end
# File lib/spork/app_framework.rb, line 52 def self.short_name name.gsub('Spork::AppFramework::', '') end
# File lib/spork/app_framework.rb, line 75 def self.instances @instances ||= {} end