同じモジュール内のコードだけにアクセスできるようなモデルを用意する方法はありますか?Railsモデルがモジュールの外部にアクセスできないようにすることはできますか?
のような何か:
module SomeModule
class SomeActiveRecordModel
# has attribute `some_attribute`
...
end
end
module SomeModule
class SomeOtherClass
def self.sum_of_attribute
SomeActiveRecordModel.sum(:some_attribute)
end
end
end
class OutsideOfModule
def self.sum_of_attribute
SomeModule::SomeActiveRecordModel.sum(:some_attribute)
end
end
SomeModule::SomeOtherClass.sum_of_attribute # works
OutsideOfModule.sum_of_attribute # raises error
このエラーは既に発生していませんか? 'OutsideOfModule'から、クラスを参照するには' SomeModule :: SomeActiveRecordModel'を行う必要があります。 –
真実ですが、私の質問のポイントではありません。私は 'OutsideOfModule'の中のメソッドを更新します – bmasc