私はレールに不慣れで、ある種の初心者の間違いを犯しています。ファイル内の行数を頻繁にカウントする必要があるため、次のようにクラス ファイルにパッチを適用しようとしています。
class File
def self.line_count( filename )
%x{wc -l #{filename}}.split.first.to_i
end
end
これを /lib/file_util.rb に保存しました。これは自動的に必要になるはずなので、そのまま使用できると思っていましたが、うまくいきません:
$ rails console
>> File.line_count('Gemfile')
NoMethodError: undefined method `line_count' for File:Class
...
だから私はそれを手動で要求しようとしますが、喜びはありません:
>> require '<myproj>/lib/file_util.rb' # same result with require 'file_util.rb'
=>nil
しかし、IRB 内で必要な場合は機能します。
$ irb
>> require '<myproj>/lib/file_util.rb'
=> true
>> File.line_count('Gemfile')
=> 22
また、require を config/application.rb に追加しようとしました。
...
Bundler.require(:default, Rails.env) if defined?(Bundler)
require 'file_util.rb'
module <myproj>
...
そして私は得る:
$ rails console
<myproj>/config/application.rb:9:in `require': no such file to load -- file_util.rb (LoadError)
私は何を間違っていますか?