Я хочу создать интерактивное приложение, где пользователь запускает его и может выполнять различные задачи, набирая команды (какая-то оболочка)
пример:
./myapp.rb
App says Hi
Commands:
help - display help about command
open - open task
do - do action
Start>help open
open <TaskName>
opens specified task
Start>open Something
Something>do SomeAction
Success!
Something> (blinking cursor here)
Я искал, но не смогЯ не нашел рубиновых самоцветов, которые мог бы использовать специально для взаимодействия с консолью, так что я собираюсь сделать свой собственный ...
Я посмотрел на Тор , но это не совсем такЯ хочу, может быть, я мог бы использовать это, но не уверен ...
это может выглядеть примерно так:
class Tasks
attr_reader :opened_task
desc "open <TaskName>", "opens specified task"
def open(params)
end
desc "do <ActionName>", "do specified action"
def do(params)
end
end
tasks = Tasks.new
# theoretical Console class
console = Console.new
console.addCommand("open",tasks.method(:open),"open task")
console.addCommand("do",tasks.method(:do),"do action")
console.start("%s>",[*tasks.opened_task])
поэтому мой вопрос, какие драгоценные камни я мог бы использовать, чтобы сделать такую консольучебный класс?может кто-то уже сделал что-то подобное?Я планирую использовать HighLine для ввода / вывода, но какие-либо другие предложения, которые я мог бы использовать?