Class: Prremote::CLI
- Inherits:
-
Thor
- Object
- Thor
- Prremote::CLI
- Defined in:
- lib/prremote/cli.rb
Class Method Summary collapse
Instance Method Summary collapse
- #deploy(file) ⇒ Object
- #eval(expr) ⇒ Object
- #install ⇒ Object
- #list ⇒ Object
- #reset ⇒ Object
- #run_script(file) ⇒ Object
- #undeploy ⇒ Object
- #version ⇒ Object
- #watch(file) ⇒ Object
Class Method Details
.exit_on_failure? ⇒ Boolean
19 20 21 |
# File 'lib/prremote/cli.rb', line 19 def self.exit_on_failure? true end |
Instance Method Details
#deploy(file) ⇒ Object
48 49 50 51 52 53 |
# File 'lib/prremote/cli.rb', line 48 def deploy(file) port = resolve_port Commands::Deploy.new(port: port, baud: [:baud]).call(file) rescue StandardError => e raise Thor::Error, e. end |
#eval(expr) ⇒ Object
64 65 66 67 68 69 |
# File 'lib/prremote/cli.rb', line 64 def eval(expr) port = resolve_port Commands::EvalCmd.new(port: port, baud: [:baud]).call(expr) rescue StandardError => e raise Thor::Error, e. end |
#install ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/prremote/cli.rb', line 26 def install version = [:version] || RUNTIME_VERSION board = [:board] || 'picow' unless RuntimeManager::BOARDS.include?(board) raise Thor::Error, "Unknown board '#{board}'. Valid values: #{RuntimeManager::BOARDS.join(', ')}" end Commands::Install.new(version: version, board: board).call rescue StandardError => e raise Thor::Error, e. end |
#list ⇒ Object
80 81 82 83 84 85 86 87 |
# File 'lib/prremote/cli.rb', line 80 def list devices = Detector.new.list_devices if devices.empty? puts 'No serial devices found.' else devices.each { |d| puts "#{d[:port]} (#{d[:label]})" } end end |
#reset ⇒ Object
90 91 92 93 94 95 96 97 98 99 100 |
# File 'lib/prremote/cli.rb', line 90 def reset port = resolve_port serial = Serial.new(port, [:baud]) serial.write("\x03") sleep 0.1 puts 'Reset signal sent.' rescue StandardError => e raise Thor::Error, e. ensure serial&.close end |
#run_script(file) ⇒ Object
39 40 41 42 43 44 |
# File 'lib/prremote/cli.rb', line 39 def run_script(file) port = resolve_port Commands::Run.new(port: port, baud: [:baud]).call(file) rescue StandardError => e raise Thor::Error, e. end |
#undeploy ⇒ Object
56 57 58 59 60 61 |
# File 'lib/prremote/cli.rb', line 56 def undeploy port = resolve_port Commands::Undeploy.new(port: port, baud: [:baud]).call rescue StandardError => e raise Thor::Error, e. end |