Sha256: 189f361a2881a0a28c9dd95c2a1d3d4ed41949d420e89dc5e70a48403f096b71
Contents?: true
Size: 1.39 KB
Versions: 4
Compression:
Stored size: 1.39 KB
Contents
class PluginManager class PluginDefinition attr_accessor :name, :version, :object_string, :file, :dependencies, :definition_file def inspect1 "<Plugin #{name} #{version} depends:[#{(dependencies||[]).map{|dep| dep.join("")}.join(", ")}] #{required_files.length} files>" end def inspect inspect1 end def required_files @required_files ||= [] end def load required_files.each do |file| #fn = File.expand_path(file, definition_directory) #p file #p fn #if fn.match(/^#{Regexp.escape(definition_directory)}/) #p :delete $".delete(file) #end end load_file = File.expand_path(File.join(File.dirname(definition_file), file)) $:.unshift(File.dirname(load_file)) new_files = log_requires do require load_file end required_files.unshift(*new_files) if object.respond_to?(:loaded) object.loaded end end def object eval(object_string) end def definition_directory File.expand_path(File.dirname(@definition_file)) end private def log_requires before = $".dup yield after = $".dup result = after - before result end end end
Version data entries
4 entries across 4 versions & 1 rubygems