Class: WrappersCommand

Inherits:
Gem::Command
  • Object
show all
Defined in:
lib/gem-wrappers/command.rb,
lib/gem-wrappers/command/file_exist.rb

Defined Under Namespace

Classes: FileExist

Instance Method Summary collapse

Constructor Details

#initializeWrappersCommand

Returns a new instance of WrappersCommand.



8
9
10
# File 'lib/gem-wrappers/command.rb', line 8

def initialize
  super 'regenerate_binstubs', 'Re run generation of environment wrappers for gems.'
end

Instance Method Details

#argumentsObject

:nodoc:



12
13
14
# File 'lib/gem-wrappers/command.rb', line 12

def arguments # :nodoc:
  "regenerate        regenerate environment wrappers for current Gem.home"
end

#defaults_strObject

:nodoc:



20
21
22
# File 'lib/gem-wrappers/command.rb', line 20

def defaults_str # :nodoc:
  ""
end

#descriptionObject

:nodoc:



24
25
26
27
28
# File 'lib/gem-wrappers/command.rb', line 24

def description # :nodoc:
  "Show (default) or regenerate environment wrappers for current 'GEM_HOME'.\n"
end

#executeObject



30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/gem-wrappers/command.rb', line 30

def execute
  args = options[:args] || []
  subcommand = args.shift || ''
  case subcommand
  when '', 'show'
    args.empty? ? execute_show : execute_show_path(args.first)
  when 'regenerate'
    execute_regenerate(args)
  when FileExist
    execute_regenerate([File.expand_path(subcommand)])
  else
    execute_unknown subcommand
  end
end

#execute_regenerate(list = []) ⇒ Object



63
64
65
66
67
# File 'lib/gem-wrappers/command.rb', line 63

def execute_regenerate(list = [])
  list = gem_wrappers.gems_executables if list.empty?
  execute_show(list) if ENV['GEM_WRAPPERS_DEBUG']
  gem_wrappers.install(list)
end

#execute_showObject



49
50
51
52
53
54
55
# File 'lib/gem-wrappers/command.rb', line 49

def execute_show
  list = gem_wrappers.installed_wrappers
  $stdout.puts description
  $stdout.puts "   Wrappers path: #{gem_wrappers.wrappers_path}"
  $stdout.puts "Environment file: #{gem_wrappers.environment_file}"
  $stdout.puts "     Executables: #{list.join(", ")}"
end

#execute_show_path(exe) ⇒ Object



45
46
47
# File 'lib/gem-wrappers/command.rb', line 45

def execute_show_path(exe)
  $stdout.puts gem_wrappers.wrapper_path(exe)
end

#execute_unknown(subcommand) ⇒ Object



57
58
59
60
61
# File 'lib/gem-wrappers/command.rb', line 57

def execute_unknown(subcommand)
  $stderr.puts "Unknown wrapper subcommand: #{subcommand}"
  $stdout.puts description
  false
end

#usageObject

:nodoc:



16
17
18
# File 'lib/gem-wrappers/command.rb', line 16

def usage # :nodoc:
  "#{program_name} [regenerate]"
end