class CopyWish
Public Instance Methods
aliases()
click to toggle source
# File lib/zoom/wish/copy_wish.rb, line 4 def aliases return ["copy", "cp"] end
description()
click to toggle source
# File lib/zoom/wish/copy_wish.rb, line 8 def description return "Copy the specified profile" end
execute(args, djinni_env = {})
click to toggle source
# File lib/zoom/wish/copy_wish.rb, line 12 def execute(args, djinni_env = {}) if (args.split(" ").length != 2) usage return end config = djinni_env["config"] name, new = args.split(" ") if (!config.has_profile?(name)) puts("Profile does not exist: #{name}") elsif (config.has_profile?(new)) puts("Profile already exists: #{new}") else profiles = config.parse_profiles profiles[new] = profiles[name].clone profiles[new].name(new) config.set_profiles(profiles) end end
tab_complete(input, djinni_env = {})
click to toggle source
# File lib/zoom/wish/copy_wish.rb, line 33 def tab_complete(input, djinni_env = {}) return [{}, "", ""] if (input.include?(" ")) profiles = djinni_env["config"].parse_profiles completions = Hash.new profiles.keys.sort do |a, b| a.downcase <=> b.downcase end.each do |name| profile = profiles[name] completions[name] = profile.to_s.split("\n")[1].strip end completions.keep_if do |name, desc| name.downcase.start_with?(input.downcase) end return [completions, input, " "] end
usage()
click to toggle source
# File lib/zoom/wish/copy_wish.rb, line 53 def usage puts("#{aliases.join(", ")} <name> <new_name>") puts(" #{description}.") end