Sha256: 9a55884e27f9acf426e48fbeecbad4e24ec94fe1cd97765d7a3fccc6a76bac53
Contents?: true
Size: 1.86 KB
Versions: 2
Compression:
Stored size: 1.86 KB
Contents
require 'redis' require 'pathname' require 'wolverine/version' require 'wolverine/configuration' require 'wolverine/script' require 'wolverine/path_component' require 'wolverine/lua_error' class 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 # 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) rescue PathComponent::MissingTemplate super end def initialize(config = nil) @config = config end def config @config || self.class.config end def redis config.redis end def reset! @root_directory = nil end def method_missing sym, *args root_directory.send(sym, *args) rescue PathComponent::MissingTemplate super end private def self.root_directory @root_directory ||= PathComponent.new(config.script_path) end def root_directory @root_directory ||= PathComponent.new(config.script_path, {:config => config, :redis => redis}) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
wolverine-0.3.0 | lib/wolverine.rb |
wolverine-0.2.5 | lib/wolverine.rb |