Module: Boson::BareRunner::Save

Included in:
Boson::BareRunner
Defined in:
lib/boson/save.rb

Instance Method Summary collapse

Instance Method Details

#add_load_pathObject



82
83
84
85
86
87
88
# File 'lib/boson/save.rb', line 82

def add_load_path
  Boson.repos.each {|repo|
    if repo.config[:add_load_path] || File.exists?(File.join(repo.dir, 'lib'))
      $: <<  File.join(repo.dir, 'lib') unless $:.include? File.expand_path(File.join(repo.dir, 'lib'))
    end
  }
end

#all_librariesObject

Libraries specified in config files and detected_libraries



78
79
80
# File 'lib/boson/save.rb', line 78

def all_libraries
  Boson.repos.map {|e| e.all_libraries }.flatten.uniq
end

#autoload_command(cmd, opts = {verbose: Boson.verbose}) ⇒ Object



50
51
52
53
54
# File 'lib/boson/save.rb', line 50

def autoload_command(cmd, opts={verbose: Boson.verbose})
  Index.read
  (lib = Index.find_library(cmd)) && Manager.load(lib, opts)
  lib
end

#default_librariesObject



68
69
70
# File 'lib/boson/save.rb', line 68

def default_libraries
  Boson.repos.map {|e| e.config[:defaults] || [] }.flatten + super
end

#define_autoloaderObject



56
57
58
59
60
61
62
63
64
65
66
# File 'lib/boson/save.rb', line 56

def define_autoloader
  class << ::Boson.main_object
    def method_missing(method, *args, &block)
      if BareRunner.autoload_command(method.to_s)
        send(method, *args, &block) if respond_to?(method)
      else
        super
      end
    end
  end
end

#detected_librariesObject

Libraries detected in repositories



73
74
75
# File 'lib/boson/save.rb', line 73

def detected_libraries
  Boson.repos.map {|e| e.detected_libraries }.flatten.uniq
end

#initObject



45
46
47
48
# File 'lib/boson/save.rb', line 45

def init
  add_load_path
  super
end