| Module | Merb::RakeHelper |
| In: |
merb-core/lib/merb-core/tasks/merb_rake_helper.rb
|
# File merb-core/lib/merb-core/tasks/merb_rake_helper.rb, line 8
8: def self.install(name, options = {})
9: defaults = { :cache => false }
10: defaults[:install_dir] = ENV['GEM_DIR'] if ENV['GEM_DIR']
11: opts = defaults.merge(options)
12: dir = if File.directory?(subdir = File.join(Dir.pwd, name))
13: subdir
14: else
15: Dir.pwd
16: end
17: install_gem_from_source(dir, name, opts)
18: ensure_wrapper(opts[:install_dir] || Gem.default_dir, name)
19: end
# File merb-core/lib/merb-core/tasks/merb_rake_helper.rb, line 21
21: def self.install_package(pkg, options = {})
22: defaults = { :cache => false }
23: defaults[:install_dir] = ENV['GEM_DIR'] if ENV['GEM_DIR']
24: opts = defaults.merge(options)
25: # Needs to be executed from the directory that contains all packages
26: Dir.chdir(File.dirname(pkg_file = File.expand_path(pkg))) do
27: install_gem(pkg_file, opts)
28: end
29: name = File.basename(pkg, '.gem')[/^(.*?)-([\d\.]+)$/, 1]
30: ensure_wrapper(opts[:install_dir] || Gem.default_dir, name)
31: end
# File merb-core/lib/merb-core/tasks/merb_rake_helper.rb, line 39
39: def self.sudo
40: ENV['MERB_SUDO'] ||= "sudo"
41: sudo = windows? ? "" : ENV['MERB_SUDO']
42: end
# File merb-core/lib/merb-core/tasks/merb_rake_helper.rb, line 33
33: def self.uninstall(name, options = {})
34: defaults = { :ignore => true, :executables => true }
35: defaults[:install_dir] = ENV['GEM_DIR'] if ENV['GEM_DIR']
36: uninstall_gem(name, defaults.merge(options))
37: end
# File merb-core/lib/merb-core/tasks/merb_rake_helper.rb, line 44
44: def self.windows?
45: (PLATFORM =~ /win32|cygwin/) rescue nil
46: end
# File merb-core/lib/merb-core/tasks/merb_rake_helper.rb, line 50
50: def self.ensure_wrapper(gemdir, name)
51: # See if there's a local bin dir - one directory up from ./gems
52: bindir = File.expand_path(File.join(gemdir, '..', 'bin'))
53: # Fall back to system wide bindir - usually needs sudo permissions
54: bindir = Gem.bindir unless File.directory?(bindir)
55: ensure_bin_wrapper_for(gemdir, bindir, name, :no_minigems => ['merb-gen'])
56: end