lib/canals/cli/session.rb in canals-0.8.7 vs lib/canals/cli/session.rb in canals-0.9.0
- old
+ new
@@ -23,40 +23,40 @@
say table
end
desc "restore", "Restore the connection to tunnels which aren't working"
def restore
- on_all_canals_in_session(:restore) do |name|
- if Canals.isalive? name
- say "Canal #{name.inspect} is running."
+ on_all_canals_in_session(:restore) do |canal|
+ if Canals.isalive? canal
+ say "Canal #{canal.name.inspect} is running."
else
- Canals.session.del(name)
- tstart(name)
+ Canals.session.del(canal.name)
+ tstart(canal)
end
end
end
desc "restart", "Restart the current session (closing and starting all connections)"
def restart
- on_all_canals_in_session(:restart) do |name|
- trestart(name)
+ on_all_canals_in_session(:restart) do |canal|
+ trestart(canal)
end
end
desc "stop", "Stop the current session"
def stop
- on_all_canals_in_session(:stop) do |name|
- tstop(name)
+ on_all_canals_in_session(:stop) do |canal|
+ tstop(canal)
end
end
no_commands do
def on_all_canals_in_session(command, &block)
return if session_empty?
- Canals.session.map{|s| s[:name]}.each do |name|
- say "#{command.to_s.capitalize} canal #{name.inspect}:", :green
- block.call(name)
+ Canals.session.each_obj do |canal|
+ say "#{command.to_s.capitalize} canal #{canal.name.inspect}:", :green
+ block.call(canal)
end
say
say "#{command} done.", :green
end
@@ -85,11 +85,15 @@
def session_col_val(session, key)
c = session_color(session)
val = case key
when "local_port"
- entry = Canals.repository.get(session[:name])
- entry.local_port if entry
+ if session[key.to_sym]
+ session[key.to_sym]
+ else
+ entry = Canals.repository.get(session[:name])
+ entry.local_port if entry
+ end
when "up"
checkmark(session_alive(session))
else
session[key.to_sym]
end