私は次のようなスクリプトを持っています
OptionParser.new do |opts|
opt.on("-h","--help","help") do
puts opts
end
end.parse!
しかし、私が呼び出すたびにrails runner my_script.rb --help
、私のスクリプトではなく、Rails Runner のヘルプが表示されます。Rails runner がこのオプションを飲み込むのを防ぐ方法はありますか?
私は次のようなスクリプトを持っています
OptionParser.new do |opts|
opt.on("-h","--help","help") do
puts opts
end
end.parse!
しかし、私が呼び出すたびにrails runner my_script.rb --help
、私のスクリプトではなく、Rails Runner のヘルプが表示されます。Rails runner がこのオプションを飲み込むのを防ぐ方法はありますか?
ランナーでこれを行うことはできません-ランナーは最初に独自のオプションを検索し、スクリプトが存在する--help
か-h
どうかを確認する前にヘルプを出力して終了します。
# Railites: lib/rails/commands/runner
opts.on("-h", "--help",
"Show this help message.") { $stdout.puts opts; exit }
ただし、ランナーをまったく使用せず、純粋な Ruby スクリプトを作成するだけで、これを回避できます。
#!/usr/bin/env ruby
require 'optparse'
environment = 'development'
OptionParser.new do |opts|
opt.on("-e", "--environment") do |v|
environment = v
end
opt.on("-h","--help","help") do
puts opts
end
end.parse!
# RAILS_ENV is used by environment.rb file to load correct configuration
ENV['RAILS_ENV'] = environment
# Load your rails application
require_relative "../config/environment.rb"
puts User.count # Your code here