Module Merb::RakeHelper
In: merb-core/lib/merb-core/tasks/merb_rake_helper.rb

Methods

Public Class methods

[Source]

    # 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

[Source]

    # 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

[Source]

    # 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

[Source]

    # 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

[Source]

    # 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

Protected Class methods

[Source]

    # 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

[Validate]