Class: S7n::S7nCli::LockCommand

Inherits:
Command
  • Object
show all
Defined in:
lib/s7n/s7ncli/command.rb

Overview

スクリーンロックし、マスターキーを入力するまでは操作できないよう にするコマンドを表現する。

Instance Attribute Summary

Attributes inherited from Command

#config, #options, #world

Instance Method Summary collapse

Methods inherited from Command

#aliases, create_instance, #description, #help, #initialize, #name, #option_parser, split_name_and_argv, #usage

Constructor Details

This class inherits a constructor from S7n::S7nCli::Command

Instance Method Details

#run(argv) ⇒ Object



173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
# File 'lib/s7n/s7ncli/command.rb', line 173

def run(argv)
  system("clear")
  puts(_("Locked screen."))
  world.save
  prompt = _("Enter the master key for s7n: ")
  begin
    input = S7nCli.input_string_without_echo(prompt)
    if input != world.master_key
      raise InvalidPassphrase
    end
    puts(_("Unlocked."))
    return true
  rescue Interrupt
  rescue ApplicationError => e
    puts($!.message + _("Try again."))
    retry
  rescue Exception => e
    puts(e.message)
    if world.debug
      puts(_("----- back trace -----"))
      e.backtrace.each do |line|
        puts("  #{line}")
      end
    end
  end
  puts(_("Quit."))
  return false
end