Class: JBundler::Vendor

Inherits:
Object
  • Object
show all
Defined in:
lib/jbundler/vendor.rb

Instance Method Summary collapse

Constructor Details

#initialize(dir) ⇒ Vendor

Returns a new instance of Vendor.



5
6
7
# File 'lib/jbundler/vendor.rb', line 5

def initialize( dir )
  @dir = File.expand_path( dir )
end

Instance Method Details

#clearObject



27
28
29
30
31
32
# File 'lib/jbundler/vendor.rb', line 27

def clear
  FileUtils.mkdir_p( @dir )
  Dir[ File.join( @dir, '*' ) ].each do |f|
    FileUtils.rm_rf( f )
  end
end

#require_jarsObject



13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/jbundler/vendor.rb', line 13

def require_jars
  jars = File.join( @dir, 'jbundler.rb' )
  if File.exists?( jars )
    $LOAD_PATH << @dir unless $LOAD_PATH.include? @dir
    require jars
  else
    Dir[ File.join( @dir, '**', '*' ) ].each do |f|
      require f
    end
    Jars.freeze_loading
    true
  end
end

#setup(classpath_file) ⇒ Object



42
43
44
45
46
47
48
49
# File 'lib/jbundler/vendor.rb', line 42

def setup( classpath_file )
  classpath_file.require_classpath
  FileUtils.mkdir_p( @dir )
  JBUNDLER_CLASSPATH.each do |f|
    FileUtils.cp( f, File.join( @dir,
                                File.basename( f ) ) )
  end
end

#vendor_dependencies(deps) ⇒ Object



34
35
36
37
38
39
40
# File 'lib/jbundler/vendor.rb', line 34

def vendor_dependencies( deps )
  require_file = File.join( @dir, 'jbundler.rb' )
  Jars::JarInstaller.install_deps( deps, @dir, require_file, true ) do |f|
    f.puts
    f.puts 'Jars.freeze_loading'
  end
end

#vendored?Boolean

Returns:

  • (Boolean)


9
10
11
# File 'lib/jbundler/vendor.rb', line 9

def vendored?
  File.exists?( @dir ) && Dir[ File.join( @dir, '*' ) ].size > 0
end