Module: Judojs::PackageManager

Defined in:
lib/judojs/jpm.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.helpObject



42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/judojs/jpm.rb', line 42

def help
  puts <<-DOC

Description: 
The jpm package managers enables you to manage the judojs packages installed on your system:

Usage: jpm [action]

Actions:
install  Install a package

Example:
// Install the fancybox plugin from the judojs repository
jpm install fancybox
DOC
end

.import(package) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/judojs/jpm.rb', line 4

def import(package)
  dir = Dir.getwd
  package_path = dir + '/' + package
  full_package_path = Judojs.repository_root + package
  
  raise "#{package_path} is not a directory" unless File.directory? "#{package_path}"
  raise "#{package_path} does not exist" unless File.exists? "#{package_path}"
  raise "#{Judojs.repository_root}#{package} already exists" if File.exists? "#{Judojs.repository_root}#{package}"
  
  Dir.mkdir(full_package_path) unless File.exists?(full_package_path)
  FileUtils.cp_r(package_path, Judojs.repository_root)
end

.install(packages) ⇒ Object



17
18
19
20
21
# File 'lib/judojs/jpm.rb', line 17

def install(packages)
  packages.each do |package|
    import package
  end
end

.uninstall(packages) ⇒ Object



23
24
25
26
27
28
29
30
31
32
# File 'lib/judojs/jpm.rb', line 23

def uninstall(packages)
  packages.each do |package|
    package_path = Judojs.repository_root + package
    raise "no program named #{package} installed" unless File.directory? "#{package_path}"
    
    FileUtils.rm_r package_path
    raise "Could not delete package. Try checking the file permissions in #{package_path}" if File.exists? package_path
    puts "#{package} uninstalled successfully" unless File.exists? package_path
  end
end

Instance Method Details

#listObject



34
35
36
# File 'lib/judojs/jpm.rb', line 34

def list
  
end

#updateObject



38
39
40
# File 'lib/judojs/jpm.rb', line 38

def update
  
end