diff options
| -rw-r--r-- | lib/temporary_user.rb | 26 | 
1 files changed, 7 insertions, 19 deletions
| diff --git a/lib/temporary_user.rb b/lib/temporary_user.rb index 2afae15..e41add5 100644 --- a/lib/temporary_user.rb +++ b/lib/temporary_user.rb @@ -12,16 +12,12 @@  module TemporaryUser    extend ActiveSupport::Concern -  include CouchRest::Model::DatabaseMethod -  USER_DB     = 'users'    TMP_USER_DB = 'tmp_users'    TMP_LOGIN   = 'tmp_user'  # created and deleted frequently    TEST_LOGIN  = 'test_user' # created, rarely deleted    included do -    use_database_method :db_name -      # since the original find_by_login is dynamically created with      # instance_eval, it appears that we also need to use instance eval to      # override it. @@ -45,15 +41,7 @@ module TemporaryUser      # calls db_name(TMP_LOGIN), then creates a CouchRest::Database      # from the name      def tmp_database -      choose_database(TMP_LOGIN) -    end - -    def db_name(login=nil) -      if !login.nil? && login.include?(TMP_LOGIN) -        TMP_USER_DB -      else -        USER_DB -      end +      @tmp_database ||= prepare_database TMP_USER_DB      end      # create the tmp db if it doesn't exist. @@ -71,12 +59,12 @@ module TemporaryUser      end    end -  # -  # this gets called each and every time a User object needs to -  # access the database. -  # -  def db_name -    self.class.db_name(self.login) +  def database +    if login.present? && login.include?(TMP_LOGIN) +      self.class.tmp_database +    else +      self.class.database +    end    end    # returns true if this User instance is stored in tmp db. | 
