!Mac OS X-10.15.7!ruby-2.7.1p83
thor
Si vous essayez d'avoir un comportement dans une seule commande, vous devez gérer les options correctement. Il existe plusieurs joyaux de construction CLI pour cela. Vous pouvez vérifier la popularité sur http://52.198.30.45/categories/CLI+Builder. Ici, nous allons vous présenter thor. Ceci peut être réalisé avec un DSL similaire à Rakefile.
Tout d'abord
gem install thor
S'il vous plaît.
plus loin,
require 'thor'
require "hello_rudy/version"
class HelloRudyCLI < Thor
desc "hello NAME", "say hello to NAME"
def hello(name)
puts "Hello " + name
end
end
HelloRudyCLI.start(ARGV)
Si vous le corrigez, cela fonctionnera presque. La chaîne CLI doit être à la fin du nom de la classe.
Pour le faire fonctionner correctement, modifiez la zone ci-dessous.
> in hello_rudy.gemspec
spec.add_runtime_dependency('thor')
> bundle update
> bundle install
> cat lib/hello_rudy/version.rb
class HelloRudy #
VERSION = "0.1.0"
end
C'est fait.
Quand j'essaye de le déplacer en local avec le bundle
> bundle exec exe/hello_rudy
Commands:
hello_rudy hello NAME # say hello to NAME
hello_rudy help [COMMAND] # Describe available commands or one specific command
> bundle exec exe/hello_rudy hello Rudy
Hello Rudy
Cela fonctionne comme une CLI.
Vous pouvez également l'utiliser à partir de divers endroits par rake install. Thor est également utilisé en rubis sur rails. Je me demande si c'était git aussi. .. .. Il y a une explication détaillée sur https://github.com/erikhuda/thor/wiki. my \ _help et qiita \ _org utilisent thor.
rubocop
Courte introduction
Jetez un œil au problème réel de github. https://github.com/rubocop-hq/rubocop/issues/4644
Recommended Posts