Railsでファイル名とクラス名が一致していないクラスを読み込む方法
Railsでファイル名とクラス名が一致していない場合、そのクラスを他のクラスから使うことはできないのでしょうか?
config/initializers
でredis.rb
というファイルを設置しています。
このファイルではクラスDataCache
を下記のように定義している、redisのユーティリティクラスです。
class DataCache
def self.data
@data ||= Redis.new(host: 'localhost', port: 6379)
end
def self.set(key, value)
data.set(key, value)
end
def self.get(key)
data.get(key)
end
def self.get_i(key)
data.get(key).to_i
end
end
initializersはオートロードパスに含まれていますが、他のクラスからこのDataCacheクラスを利用しようとするとuninitialized constant 他のクラス名::DataCache
と表示されてしまい利用できません。
ファイル名とクラス名を一致させていない場合のそのクラスの利用方法があれば教えていただきたいです。よろしくお願いします。