Skip to content

Commit

Permalink
pik list shows platform, list strings is simpler
Browse files Browse the repository at this point in the history
  • Loading branch information
vertiginous committed Jan 26, 2011
1 parent ea6967f commit cab6c4a
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 12 deletions.
7 changes: 4 additions & 3 deletions lib/pik/commands/add_command.rb
Expand Up @@ -30,9 +30,10 @@ def add(path)


Log.info "Adding: #{name}\n Located at: #{path}\n" Log.info "Adding: #{name}\n Located at: #{path}\n"


config[name] = {} config[name] = {}
config[name][:path] = path config[name][:path] = path
config[name][:version] = version.full_version config[name][:version] = version.full_version
config[name][:platform] = version.platform
end end
else else
puts "Couldn't find a Ruby version at #{path}" puts "Couldn't find a Ruby version at #{path}"
Expand Down
20 changes: 11 additions & 9 deletions lib/pik/commands/list_command.rb
Expand Up @@ -14,11 +14,12 @@ def execute
when 'default' when 'default'
default_string? ? default_list(:strings) : default_list default_string? ? default_list(:strings) : default_list
when 'strings' when 'strings'
list(:string) strings_list
else else
if remote if remote
remote_list remote_list
else else
puts "\npik rubies\n\n"
list list
end end
end end
Expand All @@ -44,14 +45,20 @@ def default_list(type=:simple)
puts puts
end end
end end

def strings_list
config.sort.each do |name,conf|
puts name
end
end


def default_string? def default_string?
@args[1] == 'string' @args[1] == 'string'
end end


def list(type=:simple) def list
config.sort.each do |name, conf| config.sort.each do |name, conf|
name = VersionPattern.full(name) if type == :simple name = VersionPattern.full(name)
puts layout(name, conf) puts layout(name, conf)
puts conf.map{|k,v| " %s: %s" % [k, v]} + ["\n"] if verbose puts conf.map{|k,v| " %s: %s" % [k, v]} + ["\n"] if verbose
end end
Expand All @@ -60,13 +67,8 @@ def list(type=:simple)
private private


def layout(name, conf) def layout(name, conf)
name = "#{name} [ #{conf[:platform]} ]"
name = current?(conf) ? "=> #{name}" : " #{name}" name = current?(conf) ? "=> #{name}" : " #{name}"
if name.length > columns
remainder = -(name.length - columns + 5)
"#{name[0,columns-5]}...#{" ...%s" % name[remainder..-1] if verbose}"
else
name
end
end end


def current?(conf) def current?(conf)
Expand Down

0 comments on commit cab6c4a

Please sign in to comment.