Sha256: 5ec2bbd78b94907d0a9a213dc6ec881f1989fb54d5b664600d85d22ef857337f
Contents?: true
Size: 978 Bytes
Versions: 6
Compression:
Stored size: 978 Bytes
Contents
# Adds dependencies to manager module Boson class Manager module MoreManager def load_dependencies(lib, options={}) lib_dependencies[lib] = Array(lib.dependencies).map do |e| next if self.class.loaded?(e) load_once(e, options.merge(:dependency=>true)) || raise(LoaderError, "Can't load dependency #{e}") end.compact end def lib_dependencies @lib_dependencies ||= {} end def during_after_load (lib_dependencies[@library] || []).each do |e| create_commands(e) self.class.add_library(e) puts "Loaded library dependency #{e.name}" if verbose end end end include MoreManager end # [*:dependencies*] An array of libraries that this library depends on. A library won't load # unless its dependencies are loaded first. class Library ATTRIBUTES << :dependencies attr_reader :dependencies end end
Version data entries
6 entries across 6 versions & 1 rubygems