私は、指定された検索クエリを使って外部APIから結果を取得する簡単なコマンドラインRubyアプリケーションを開発するように求められました。私はこれを行うためのスクリプトを作成し、#!/usr/bin/env ruby
を使用して実行可能にしました。私のスクリプト名はsampleapp.rbです。だから私はコンソールからそれを実行することができます単純なコマンドラインRubyアプリケーション
$> ./sampleapp some_argument
それは私がファイルディレクトリの中にいるときだけです。例では
私に与えられ、スクリプト/アプリは、次のように実行するようになっていた。
$> sampleapp some_argument
私は多くの研究を行ったが、これを達成するための方法を見つけることができませんでした。ここで私を案内してください。
また、このサンプルアプリケーションをどのようにグローバルにして、どこからでも呼び出すことができます。
更新:
sampleapp.rb
require 'net/https'
require 'openssl'
require 'json'
require 'uri'
require 'cgi'
module Someapp
class SampleApp
def search(query ="")
...some code here ...
end
if ARGV.size == 0 || ARGV[0].strip == ""
puts "Please provide search query as an argument"
else
query = ARGV[0].strip
SampleApp.new.search(query)
end
end
いくつかの* nixの亜種を仮定すると、実行可能( '' '' chmod + x sampleapp''')にする必要があり、あなたの(またはより一般的には呼び出し側の) '' $ PATH'''。既に与えられた答えが示唆しているように、これを行う方法の1つは '' '/ usr/local/bin''に入れることです。 –
@DerrellDurrettルビクラスパスがどのように動作するのか分かりません。 – mudasobwa
これには、['thor'](https://github.com/erikhuda/thor)や[' slop'](https://github.com/leejarvis/slop)を見るための素晴らしい図書館がありますスコープのクリープによって「シンプル」がすべて「コンプレックス」に突然変更された場合、このタスクははるかに簡単になり、よりフレンドリーになります。 – engineersmnky