Sha256: 0948dd2d79054197100e0f4fc2447dd956092e3b8cee9a7384c71b5293d5ee85
Contents?: true
Size: 1.35 KB
Versions: 4
Compression:
Stored size: 1.35 KB
Contents
# encoding: utf-8 module Imap::Backup::Configuration class FolderChooser def initialize(account) @account = account end def run begin @connection = Imap::Backup::Account::Connection.new(@account) rescue => e puts 'Connection failed' Setup.highline.ask 'Press a key ' return end @folders = @connection.folders if @folders.nil? puts 'Unable to get folder list' Setup.highline.ask 'Press a key ' return end loop do system('clear') Setup.highline.choose do |menu| menu.header = 'Add/remove folders' menu.index = :number @folders.each do |folder| name = folder.name found = @account[:folders].find { |f| f[:name] == name } mark = if found '+' else '-' end menu.choice("#{mark} #{name}") do if found @account[:folders].reject! { |f| f[:name] == name } else @account[:folders] << { :name => name } end end end menu.choice('return to the account menu') do return end menu.hidden('quit') do return end end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems