Sha256: afcd31d3afd7eebf4395c461c455789d3fd6ee8a86c8354fb327f21fcae05f7a
Contents?: true
Size: 1.42 KB
Versions: 2
Compression:
Stored size: 1.42 KB
Contents
module Imap::Backup module Configuration; end class Configuration::Asker < Struct.new(:highline) EMAIL_MATCHER = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]+$/i def initialize(highline) super end def email(default = "") highline.ask("email address: ") do |q| q.default = default q.readline = true q.validate = EMAIL_MATCHER q.responses[:not_valid] = "Enter a valid email address " end end def password password = highline.ask("password: ") { |q| q.echo = false } confirmation = highline.ask("repeat password: ") { |q| q.echo = false } if password != confirmation return nil unless highline.agree("the password and confirmation did not match.\nContinue? (y/n) ") return self.password end password end def backup_path(default, validator) highline.ask("backup directory: ") do |q| q.default = default q.readline = true q.validate = validator q.responses[:not_valid] = "Choose a different directory " end end def self.email(default = "") new(Configuration::Setup.highline).email(default) end def self.password new(Configuration::Setup.highline).password end def self.backup_path(default, validator) new(Configuration::Setup.highline).backup_path(default, validator) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
imap-backup-1.3.0 | lib/imap/backup/configuration/asker.rb |
imap-backup-1.2.3 | lib/imap/backup/configuration/asker.rb |