CarrierWave::SanitizedFileの @original_filename の扱いについて
CarrierWave
のuploaderを持つVoice
というモデルがあり
class Voice < ActiveRecord::Base
mount_uploader :sound, SoundUploader
end
これにファイルのアップロードは正常に行えたようなのですが、CarrierWav::SanitizedFile
の@original_filename
の扱いがよくわかりません。
pry(main)> voice.sound.file
=> #<CarrierWave::SanitizedFile:0x007f94cbfc4d58
@content_type="audio/x-wav",
@file="/Users/ironsand/dev/nativephrase/public/uploads/voice/sound/21/something.wav",
@original_filename=nil>
と@original_filename
がnil
になってるにもかかわらず
pry(main)> voice.sound.file.original_filename
=> "something.wav"
のように値が取得できます。
ここで呼び出してるのがインスタンスメソッドではなくoriginal_filename
というメソッドだと言うことはわかったのですが、インスタンス変数の@original_filename
がnil
のままにされているのかよくわかりませんでした。
何かnil
のままにしておくことで利点があるのでしょうか?