lib/wolverine.rb in wolverine-0.2.2 vs lib/wolverine.rb in wolverine-0.2.3

- old
+ new

@@ -6,28 +6,48 @@ require 'wolverine/script' require 'wolverine/path_component' require 'wolverine/lua_error' module Wolverine + # Returns the configuration object for reading and writing + # configuration values. + # + # @return [Wolverine::Configuration] the configuration object def self.config @config ||= Configuration.new end + # Provides access to the redis connection currently in use by Wolverine. + # + # @return [Redis] the redis connection used by Wolverine def self.redis config.redis end + # Resets all the scripts cached by Wolverine. Scripts are lazy-loaded and + # cached in-memory, so if a file changes on disk, it will be necessary to + # manually reset the cache using +reset!+. + # + # @return [void] def self.reset! @root_directory = nil end - def self.root_directory - @root_directory ||= PathComponent.new(config.script_path) - end - + # Used to handle dynamic accesses to scripts. Successful lookups will be + # cached on the {PathComponent} object. See {PathComponent#method_missing} + # for more detail on how this works. + # + # @return [PathComponent, Object] a PathComponent if the method maps to a + # directory, or an execution result if the the method maps to a lua file. def self.method_missing sym, *args - root_directory.send(sym, *args) + root_directory.send(sym, *args) rescue PathComponent::MissingTemplate - super + super + end + + private + + def self.root_directory + @root_directory ||= PathComponent.new(config.script_path) end end