が、私はそれが常に認証していることを除いて、完全に私の通常のUserモデルと同じように働き、特に、開発とテストのためのTestUser
モデルを持つことができるようにしたいオブジェクト。委任のActiveRecordオブジェクトは
class User
class << self
attr_accessor :foo
end
end
class TestUser ?< ??
??
end
---
User.foo = 'bar'
TestUser.foo => 'bar'
User.new.authenticate?('password') => maybe, runs authentication
TestUser.new.authenticate?(_) => true
私が知っている私は:ここ
重要な問題は、TestUser
は、常にユーザーのクラスメソッドを呼び出し、それが通常のユーザであるかのように、それのクラスレベルのインスタンス変数を検索し、cattr_accessor
すなわちを通じてそれをしないことですテストと開発のユーザーを常に認証するように拡張するだけで、私が望むことができましたが、余分なクラスでそれを行うことが可能かどうかは疑問でした。
これは必ずしもレールまたはActiveRecordの問題ではありませんが、私を取得しているものは、私は、ユーザーにTESTUSERから#createまたは#buildを委任する場合は、その後、私は適切に作成されたオブジェクトを拡張できませんよということです。 – lambdabutz