class PasswordChanger::Cli::Runner
Public Instance Methods
find_printers(formats)
click to toggle source
# File lib/password_changer/cli/runner.rb, line 46 def find_printers(formats) formats.inject([]) do |a, e| a << case e.to_sym when :csv Printers::Csv.new when :pretty Printers::Pretty.new when :plain Printers::Plain.new else fail ArgumentError, 'Please use either "csv", "plain" or "pretty" as output format.' end end end
start()
click to toggle source
# File lib/password_changer/cli/runner.rb, line 21 def start PasswordChanger.plugin_manager.activate_plugin(*PasswordChanger.config.plugins) PasswordChanger.enable_debug_mode if options[:debug_mode] PasswordChanger.enable_verbose_mode if options[:verbose] PluginChecker.check data = if options[:csv_file] PasswordChanger::Readers::Csv.new.parse(File.expand_path(options[:csv_file])) elsif options[:user] PasswordChanger::Readers::SingleUser.new.parse(options[:user], options[:ask_new_password]) else fail ArgumentError, 'Please use either `--csv-file`- or `--user`-option.' end Actions::ChangePassword.new( find_printers(options[:output_format]), Changer.new(show_screenshot_on_error: options[:show_screenshot_on_error], viewer_command: options[:viewer_command]) ).run(data) end