module Alki::Console::Wrapper
Public Class Methods
find_assembly(dir)
click to toggle source
# File lib/alki/console/wrapper.rb, line 6 def self.find_assembly(dir) assembly_paths = Dir[File.join(dir,'lib','**','*.rb')].select do |path| File.foreach(path) do |line| break true if line.start_with? 'Alki.project_assembly!' end end if assembly_paths.size == 0 raise "Couldn't find an assembly library file" end if assembly_paths.size > 1 raise "Found multiple assembly library files" end return assembly_paths[0][(dir.size+5)..-4] end
wrap(dir=Dir.pwd,assembly_name=find_assembly(dir))
click to toggle source
# File lib/alki/console/wrapper.rb, line 21 def self.wrap(dir=Dir.pwd,assembly_name=find_assembly(dir)) lib_dir = File.join(dir,'lib') $LOAD_PATH << lib_dir unless $LOAD_PATH.include? lib_dir assembly = Alki.load(assembly_name) assembly.new do mount :_console, 'alki/console' do set :prompt, assembly_name.gsub('/','-') set :context do root end end end._console.run end