LoginSignup
2
0

More than 5 years have passed since last update.

RailsでEmacsのxmp(rcodetools/xmpfilter)を使う方法

Posted at

一度 xmpfilter に慣れてしまうともう後戻りはできない。そんな極一部の xmpfilter 中毒者が戸惑わないように Rails でも xmpfilter を使う方法を共有しときます。

shebang を #!rails runner にするだけだったり、require のところでよかれと思って require_relative を使ったりするとうまくいきません。

次のように require で config/environment.rb を読み込み さえすれば、あとは小さなスクリプトのように扱えます。

RAILS_ROOT/bin/foo.rb
require File.expand_path('../../config/environment', __FILE__)
Article.count       # => 10

SQLを確認したいときは次のようにログ出力を標準出力に向けて、色付けを無効にしておくとよいです。

RAILS_ROOT/bin/foo.rb
require File.expand_path('../../config/environment', __FILE__)
ActiveRecord::Base.logger = ActiveSupport::Logger.new(STDOUT)
ActiveSupport::LogSubscriber.colorize_logging = false

Article.count       # => 10
# >>    (0.3ms)  SELECT COUNT(*) FROM `articles`

また有用な機能に発展して外部コマンドとしても利用したくなったら shebang に #!/usr/bin/env ruby を追加します。

カレントディレクトリが Rails.root 直下じゃないと都合が悪いってときは require のあとで Dir.chdir Rails.root とします。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0