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のままにしておくことで利点があるのでしょうか?