rails runner を使ってみる (Rails)
Ruby Ruby on Rails
Published: 2020-09-12

やったこと

runnerコマンドを使うと、非対話的にRailsの文脈でRubyのコードを実行することができます。たとえば次のようになります。

シェルのコマンドで、Rails のメソッドを使ってみます。

確認環境

$ ruby --version
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin17]

$ rails --version
Rails 6.0.3.2

調査

実行するコードをそのまま渡す

$ rails runner 'puts Rails.env'

出力

Running via Spring preloader in process 37027
development

外部ファイルを実行してみる

lib/hoge.rb

class Sample
  def self.hello
    puts 'called: hello'
    puts Rails.env
  end
end

Sample.hello

出力

$ rails runner lib/hoge.rb
Running via Spring preloader in process 38718
called: hello
development

参考