<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,5 +1,7 @@
 == master
 
+* Remove the PluginAWeek namespace
+
 == 0.2.1 / 2008-12-04
 
 * Fix class-level defaults not working when inherited</diff>
      <filename>CHANGELOG.rdoc</filename>
    </modified>
    <modified>
      <diff>@@ -38,11 +38,11 @@ Asymmetric ciphers.
   &gt;&gt; encrypted_password.class
   =&gt; String
   &gt;&gt; encrypted_password.cipher
-  =&gt; #&lt;PluginAWeek::EncryptedStrings::ShaCipher:0x2b9238889460 @salt=&quot;salt&quot;&gt;
+  =&gt; #&lt;EncryptedStrings::ShaCipher:0x2b9238889460 @salt=&quot;salt&quot;&gt;
   &gt;&gt; encrypted_password == 'shhhh'
   =&gt; true
   &gt;&gt; encrypted_password.decrypt
-  NotImplementedError: Decryption is not supported using a(n) PluginAWeek::EncryptedStrings::ShaCipher
+  NotImplementedError: Decryption is not supported using a(n) EncryptedStrings::ShaCipher
           from ./script/../config/../config/../vendor/plugins/encrypted_strings/lib/encrypted_strings/cipher.rb:13:in `decrypt'
           from ./script/../config/../config/../vendor/plugins/encrypted_strings/lib/encrypted_strings/extensions/string.rb:52:in `decrypt'
           from (irb):40</diff>
      <filename>README.rdoc</filename>
    </modified>
    <modified>
      <diff>@@ -1,187 +1,185 @@
-module PluginAWeek #:nodoc:
-  module EncryptedStrings
-    # Indicates no public key was found
-    class NoPublicKeyError &lt; StandardError
+module EncryptedStrings
+  # Indicates no public key was found
+  class NoPublicKeyError &lt; StandardError
+  end
+  
+  # Indicates no private key was found
+  class NoPrivateKeyError &lt; StandardError
+  end
+  
+  # Encryption in which the keys used to encrypt/decrypt come in pairs.  Also
+  # known as public key encryption.  Anything that's encrypted using the
+  # public key can only be decrypted with the same algorithm and a matching
+  # private key.  Any message that is encrypted with the private key can only
+  # be decrypted with the matching public key.
+  # 
+  # Source: http://support.microsoft.com/kb/246071
+  # 
+  # == Encrypting 
+  # 
+  # To encrypt a string using an asymmetric cipher, the location of the
+  # public key file must be specified.  You can define the default for this
+  # value like so:
+  # 
+  #   EncryptedStrings::AsymmetricCipher.default_public_key_file = './public.key'
+  # 
+  # If these configuration options are not passed in to #encrypt, then the
+  # default values will be used.  You can override the default values like so:
+  # 
+  #   password = 'shhhh'
+  #   password.encrypt(:asymmetric, :public_key_file =&gt; './encrypted_public.key')  # =&gt; &quot;INy95irZ8AlHmvc6ZAF/ARsTpbqPIB/4bEAKKOebjsayB7NYWtIzpswvzxqf\nNJ5yyuvxfMODrcg7RimEMFkFlg==\n&quot;
+  # 
+  # An exception will be raised if either the public key file could not be
+  # found or the key could not decrypt the public key file.
+  # 
+  # == Decrypting
+  # 
+  # To decrypt a string using an asymmetric cipher, the location of the
+  # private key file must be specified.  If this file is itself encrypted, you
+  # must also specify the algorithm and password used to seed the symmetric
+  # algorithm that will decrypt the plublic key file.  You can define defaults
+  # for these values like so:
+  # 
+  #   EncryptedStrings::AsymmetricCipher.default_private_key_file = './private.key'
+  #   EncryptedStrings::SymmetricCipher.default_algorithm = 'DES-EDE3-CBC'
+  #   EncryptedStrings::SymmetricCipher.default_password = 'secret'
+  # 
+  # If these configuration options are not passed in to #decrypt, then the
+  # default values will be used.  You can override the default values like so:
+  # 
+  #   password = &quot;INy95irZ8AlHmvc6ZAF/ARsTpbqPIB/4bEAKKOebjsayB7NYWtIzpswvzxqf\nNJ5yyuvxfMODrcg7RimEMFkFlg==\n&quot;
+  #   password.decrypt(:asymmetric, :public_key_file =&gt; './encrypted_public.key', :password =&gt; 'secret') # =&gt; &quot;shhhh&quot;
+  # 
+  # An exception will be raised if either the private key file could not be
+  # found or the password could not decrypt the private key file.
+  class AsymmetricCipher &lt; Cipher
+    class &lt;&lt; self
+      # The default private key to use during encryption.  Default is nil.
+      attr_accessor :default_private_key_file
+      
+      # The default public key to use during encryption.  Default is nil.
+      attr_accessor :default_public_key_file
     end
     
-    # Indicates no private key was found
-    class NoPrivateKeyError &lt; StandardError
-    end
+    # Private key used for decrypting data
+    attr_reader :private_key_file
     
-    # Encryption in which the keys used to encrypt/decrypt come in pairs.  Also
-    # known as public key encryption.  Anything that's encrypted using the
-    # public key can only be decrypted with the same algorithm and a matching
-    # private key.  Any message that is encrypted with the private key can only
-    # be decrypted with the matching public key.
-    # 
-    # Source: http://support.microsoft.com/kb/246071
-    # 
-    # == Encrypting 
-    # 
-    # To encrypt a string using an asymmetric cipher, the location of the
-    # public key file must be specified.  You can define the default for this
-    # value like so:
-    # 
-    #   PluginAWeek::EncryptedStrings::AsymmetricCipher.default_public_key_file = './public.key'
-    # 
-    # If these configuration options are not passed in to #encrypt, then the
-    # default values will be used.  You can override the default values like so:
-    # 
-    #   password = 'shhhh'
-    #   password.encrypt(:asymmetric, :public_key_file =&gt; './encrypted_public.key')  # =&gt; &quot;INy95irZ8AlHmvc6ZAF/ARsTpbqPIB/4bEAKKOebjsayB7NYWtIzpswvzxqf\nNJ5yyuvxfMODrcg7RimEMFkFlg==\n&quot;
-    # 
-    # An exception will be raised if either the public key file could not be
-    # found or the key could not decrypt the public key file.
-    # 
-    # == Decrypting
-    # 
-    # To decrypt a string using an asymmetric cipher, the location of the
-    # private key file must be specified.  If this file is itself encrypted, you
-    # must also specify the algorithm and password used to seed the symmetric
-    # algorithm that will decrypt the plublic key file.  You can define defaults
-    # for these values like so:
-    # 
-    #   PluginAWeek::EncryptedStrings::AsymmetricCipher.default_private_key_file = './private.key'
-    #   PluginAWeek::EncryptedStrings::SymmetricCipher.default_algorithm = 'DES-EDE3-CBC'
-    #   PluginAWeek::EncryptedStrings::SymmetricCipher.default_password = 'secret'
-    # 
-    # If these configuration options are not passed in to #decrypt, then the
-    # default values will be used.  You can override the default values like so:
-    # 
-    #   password = &quot;INy95irZ8AlHmvc6ZAF/ARsTpbqPIB/4bEAKKOebjsayB7NYWtIzpswvzxqf\nNJ5yyuvxfMODrcg7RimEMFkFlg==\n&quot;
-    #   password.decrypt(:asymmetric, :public_key_file =&gt; './encrypted_public.key', :password =&gt; 'secret') # =&gt; &quot;shhhh&quot;
+    # Public key used for encrypting data
+    attr_reader :public_key_file
+    
+    # The algorithm to use if the key files are encrypted themselves
+    attr_accessor :algorithm
+    
+    # The password used during symmetric decryption of the key files
+    attr_accessor :password
+    
+    # Creates a new cipher that uses an asymmetric encryption strategy.
     # 
-    # An exception will be raised if either the private key file could not be
-    # found or the password could not decrypt the private key file.
-    class AsymmetricCipher &lt; Cipher
-      class &lt;&lt; self
-        # The default private key to use during encryption.  Default is nil.
-        attr_accessor :default_private_key_file
-        
-        # The default public key to use during encryption.  Default is nil.
-        attr_accessor :default_public_key_file
-      end
+    # Configuration options:
+    # * +private_key_file+ - Encrypted private key file
+    # * +public_key_file+ - Public key file
+    # * +password+ - The password to use in the symmetric cipher
+    # * +algorithm+ - Algorithm to use symmetrically encrypted strings
+    def initialize(options = {})
+      invalid_options = options.keys - [:private_key_file, :public_key_file, :algorithm, :password]
+      raise ArgumentError, &quot;Unknown key(s): #{invalid_options.join(&quot;, &quot;)}&quot; unless invalid_options.empty?
       
-      # Private key used for decrypting data
-      attr_reader :private_key_file
+      options = {
+        :private_key_file =&gt; AsymmetricCipher.default_private_key_file,
+        :public_key_file =&gt; AsymmetricCipher.default_public_key_file
+      }.merge(options)
       
-      # Public key used for encrypting data
-      attr_reader :public_key_file
+      @public_key = @private_key = nil
       
-      # The algorithm to use if the key files are encrypted themselves
-      attr_accessor :algorithm
+      self.private_key_file = options[:private_key_file]
+      self.public_key_file  = options[:public_key_file]
+      raise ArgumentError, 'At least one key file must be specified (:private_key_file or :public_key_file)' unless private_key_file || public_key_file
       
-      # The password used during symmetric decryption of the key files
-      attr_accessor :password
+      self.algorithm  = options[:algorithm]
+      self.password = options[:password]
       
-      # Creates a new cipher that uses an asymmetric encryption strategy.
-      # 
-      # Configuration options:
-      # * +private_key_file+ - Encrypted private key file
-      # * +public_key_file+ - Public key file
-      # * +password+ - The password to use in the symmetric cipher
-      # * +algorithm+ - Algorithm to use symmetrically encrypted strings
-      def initialize(options = {})
-        invalid_options = options.keys - [:private_key_file, :public_key_file, :algorithm, :password]
-        raise ArgumentError, &quot;Unknown key(s): #{invalid_options.join(&quot;, &quot;)}&quot; unless invalid_options.empty?
-        
-        options = {
-          :private_key_file =&gt; AsymmetricCipher.default_private_key_file,
-          :public_key_file =&gt; AsymmetricCipher.default_public_key_file
-        }.merge(options)
-        
-        @public_key = @private_key = nil
-        
-        self.private_key_file = options[:private_key_file]
-        self.public_key_file  = options[:public_key_file]
-        raise ArgumentError, 'At least one key file must be specified (:private_key_file or :public_key_file)' unless private_key_file || public_key_file
-        
-        self.algorithm  = options[:algorithm]
-        self.password = options[:password]
-        
-        super()
-      end
-      
-      # Encrypts the given data. If no public key file has been specified, then
-      # a NoPublicKeyError will be raised.
-      def encrypt(data)
-        raise NoPublicKeyError, &quot;Public key file: #{public_key_file}&quot; unless public?
-        
-        encrypted_data = public_rsa.public_encrypt(data)
-        Base64.encode64(encrypted_data)
-      end
+      super()
+    end
+    
+    # Encrypts the given data. If no public key file has been specified, then
+    # a NoPublicKeyError will be raised.
+    def encrypt(data)
+      raise NoPublicKeyError, &quot;Public key file: #{public_key_file}&quot; unless public?
       
-      # Decrypts the given data. If no private key file has been specified, then
-      # a NoPrivateKeyError will be raised.
-      def decrypt(data)
-        raise NoPrivateKeyError, &quot;Private key file: #{private_key_file}&quot; unless private?
-        
-        decrypted_data = Base64.decode64(data)
-        private_rsa.private_decrypt(decrypted_data)
-      end
+      encrypted_data = public_rsa.public_encrypt(data)
+      Base64.encode64(encrypted_data)
+    end
+    
+    # Decrypts the given data. If no private key file has been specified, then
+    # a NoPrivateKeyError will be raised.
+    def decrypt(data)
+      raise NoPrivateKeyError, &quot;Private key file: #{private_key_file}&quot; unless private?
       
-      # Sets the location of the private key and loads it
-      def private_key_file=(file)
-        @private_key_file = file and load_private_key
-      end
+      decrypted_data = Base64.decode64(data)
+      private_rsa.private_decrypt(decrypted_data)
+    end
+    
+    # Sets the location of the private key and loads it
+    def private_key_file=(file)
+      @private_key_file = file and load_private_key
+    end
+    
+    # Sets the location of the public key and loads it
+    def public_key_file=(file)
+      @public_key_file = file and load_public_key
+    end
+    
+    # Does this cipher have a public key available?
+    def public?
+      return true if @public_key
       
-      # Sets the location of the public key and loads it
-      def public_key_file=(file)
-        @public_key_file = file and load_public_key
-      end
+      load_public_key
+      !@public_key.nil?
+    end
+    
+    # Does this cipher have a private key available?
+    def private?
+      return true if @private_key
       
-      # Does this cipher have a public key available?
-      def public?
-        return true if @public_key
+      load_private_key
+      !@private_key.nil?
+    end
+    
+    private
+      # Loads the private key from the configured file
+      def load_private_key
+        @private_rsa = nil
         
-        load_public_key
-        !@public_key.nil?
+        if private_key_file &amp;&amp; File.file?(private_key_file)
+          @private_key = File.read(private_key_file)
+        end
       end
       
-      # Does this cipher have a private key available?
-      def private?
-        return true if @private_key
+      # Loads the public key from the configured file
+      def load_public_key
+        @public_rsa = nil
         
-        load_private_key
-        !@private_key.nil?
+        if public_key_file &amp;&amp; File.file?(public_key_file)
+          @public_key = File.read(public_key_file)
+        end
       end
       
-      private
-        # Loads the private key from the configured file
-        def load_private_key
-          @private_rsa = nil
+      # Retrieves the private RSA from the private key
+      def private_rsa
+        if password
+          options = {:password =&gt; password}
+          options[:algorithm] = algorithm if algorithm
           
-          if private_key_file &amp;&amp; File.file?(private_key_file)
-            @private_key = File.read(private_key_file)
-          end
+          private_key = @private_key.decrypt(:symmetric, options)
+          OpenSSL::PKey::RSA.new(private_key)
+        else
+          @private_rsa ||= OpenSSL::PKey::RSA.new(@private_key)
         end
-        
-        # Loads the public key from the configured file
-        def load_public_key
-          @public_rsa = nil
-          
-          if public_key_file &amp;&amp; File.file?(public_key_file)
-            @public_key = File.read(public_key_file)
-          end
-        end
-        
-        # Retrieves the private RSA from the private key
-        def private_rsa
-          if password
-            options = {:password =&gt; password}
-            options[:algorithm] = algorithm if algorithm
-            
-            private_key = @private_key.decrypt(:symmetric, options)
-            OpenSSL::PKey::RSA.new(private_key)
-          else
-            @private_rsa ||= OpenSSL::PKey::RSA.new(@private_key)
-          end
-        end
-        
-        # Retrieves the public RSA
-        def public_rsa
-          @public_rsa ||= OpenSSL::PKey::RSA.new(@public_key)
-        end
-    end
+      end
+      
+      # Retrieves the public RSA
+      def public_rsa
+        @public_rsa ||= OpenSSL::PKey::RSA.new(@public_key)
+      end
   end
 end</diff>
      <filename>lib/encrypted_strings/asymmetric_cipher.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,19 +1,17 @@
-module PluginAWeek #:nodoc:
-  module EncryptedStrings
-    # Represents the base class for all ciphers.  By default, all ciphers are
-    # assumed to be able to decrypt strings.  Note, however, that certain
-    # encryption algorithms do not allow decryption.
-    class Cipher
-      # Can this string be decrypted?  Default is true.
-      def can_decrypt?
-        true
-      end
-      
-      # Attempts to decrypt the given data using the current configuration.  By
-      # default, decryption is not implemented.
-      def decrypt(data)
-        raise NotImplementedError, &quot;Decryption is not supported using a(n) #{self.class.name}&quot;
-      end
+module EncryptedStrings
+  # Represents the base class for all ciphers.  By default, all ciphers are
+  # assumed to be able to decrypt strings.  Note, however, that certain
+  # encryption algorithms do not allow decryption.
+  class Cipher
+    # Can this string be decrypted?  Default is true.
+    def can_decrypt?
+      true
+    end
+    
+    # Attempts to decrypt the given data using the current configuration.  By
+    # default, decryption is not implemented.
+    def decrypt(data)
+      raise NotImplementedError, &quot;Decryption is not supported using a(n) #{self.class.name}&quot;
     end
   end
 end</diff>
      <filename>lib/encrypted_strings/cipher.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,210 +1,208 @@
 require 'openssl'
 require 'base64'
 
-module PluginAWeek #:nodoc:
-  module EncryptedStrings
-    module Extensions #:nodoc:
-      # Adds support for in-place encryption/decryption of strings
-      module String
-        def self.included(base) #:nodoc:
-          base.class_eval do
-            attr_accessor :cipher
-            
-            alias_method :equals_without_encryption, :==
-            alias_method :==, :equals_with_encryption
-          end
-        end
-        
-        # Encrypts the current string using the specified cipher.  The default
-        # cipher is sha.
-        # 
-        # Configuration options are cipher-specific.  See each individual cipher
-        # class to find out the options available.
-        # 
-        # == Example
-        # 
-        # The following uses an SHA cipher to encrypt the string:
-        # 
-        #   password = 'shhhh'
-        #   password.encrypt  # =&gt; &quot;66c85d26dadde7e1db27e15a0776c921e27143bd&quot;
-        # 
-        # == Custom encryption mode
-        # 
-        # The following uses Symmetric cipher (with a default password) to
-        # encrypt the string:
-        # 
-        #   PluginAWeek::EncryptedStrings::SymmetricCipher.default_password = 'secret'
-        #   password = 'shhhh'
-        #   password.encrypt(:symmetric)  # =&gt; &quot;jDACXI5hMPI=\n&quot;
-        # 
-        # == Custom encryption options
-        # 
-        # Some encryption modes also support additional configuration options
-        # that determine how to encrypt the string.  For example, SHA supports
-        # a salt which seeds the algorithm:
-        # 
-        #   password = 'shhhh'
-        #   password.encrypt(:sha, :salt =&gt; 'secret') # =&gt; &quot;3b22cbe4acde873c3efc82681096f3ae69aff828&quot;
-        def encrypt(*args)
-          cipher = cipher_from_args(*args)
-          encrypted_string = cipher.encrypt(self)
-          encrypted_string.cipher = cipher
-          
-          encrypted_string
-        end
-        
-        # Encrypts this string and replaces it with the encrypted value.  This
-        # takes the same parameters as #encrypt, but returns the same string
-        # instead of a different one.
-        # 
-        # == Example
-        # 
-        #   password = 'shhhh'
-        #   password.encrypt!(:symmetric, :password =&gt; 'secret')  # =&gt; &quot;qSg8vOo6QfU=\n&quot;
-        #   password                                              # =&gt; &quot;qSg8vOo6QfU=\n&quot;
-        def encrypt!(*args)
-          encrypted_string = encrypt(*args)
-          self.cipher = encrypted_string.cipher
+module EncryptedStrings
+  module Extensions #:nodoc:
+    # Adds support for in-place encryption/decryption of strings
+    module String
+      def self.included(base) #:nodoc:
+        base.class_eval do
+          attr_accessor :cipher
           
-          replace(encrypted_string)
+          alias_method :equals_without_encryption, :==
+          alias_method :==, :equals_with_encryption
         end
+      end
+      
+      # Encrypts the current string using the specified cipher.  The default
+      # cipher is sha.
+      # 
+      # Configuration options are cipher-specific.  See each individual cipher
+      # class to find out the options available.
+      # 
+      # == Example
+      # 
+      # The following uses an SHA cipher to encrypt the string:
+      # 
+      #   password = 'shhhh'
+      #   password.encrypt  # =&gt; &quot;66c85d26dadde7e1db27e15a0776c921e27143bd&quot;
+      # 
+      # == Custom encryption mode
+      # 
+      # The following uses Symmetric cipher (with a default password) to
+      # encrypt the string:
+      # 
+      #   EncryptedStrings::SymmetricCipher.default_password = 'secret'
+      #   password = 'shhhh'
+      #   password.encrypt(:symmetric)  # =&gt; &quot;jDACXI5hMPI=\n&quot;
+      # 
+      # == Custom encryption options
+      # 
+      # Some encryption modes also support additional configuration options
+      # that determine how to encrypt the string.  For example, SHA supports
+      # a salt which seeds the algorithm:
+      # 
+      #   password = 'shhhh'
+      #   password.encrypt(:sha, :salt =&gt; 'secret') # =&gt; &quot;3b22cbe4acde873c3efc82681096f3ae69aff828&quot;
+      def encrypt(*args)
+        cipher = cipher_from_args(*args)
+        encrypted_string = cipher.encrypt(self)
+        encrypted_string.cipher = cipher
         
-        # Is this string encrypted?  This will return true if the string is the
-        # result of a call to #encrypt or #encrypt!.
-        # 
-        # == Example
-        # 
-        #   password = 'shhhh'
-        #   password.encrypted? # =&gt; false
-        #   password.encrypt!   # =&gt; &quot;66c85d26dadde7e1db27e15a0776c921e27143bd&quot;
-        #   password.encrypted? # =&gt; true
-        def encrypted?
-          !cipher.nil?
-        end
+        encrypted_string
+      end
+      
+      # Encrypts this string and replaces it with the encrypted value.  This
+      # takes the same parameters as #encrypt, but returns the same string
+      # instead of a different one.
+      # 
+      # == Example
+      # 
+      #   password = 'shhhh'
+      #   password.encrypt!(:symmetric, :password =&gt; 'secret')  # =&gt; &quot;qSg8vOo6QfU=\n&quot;
+      #   password                                              # =&gt; &quot;qSg8vOo6QfU=\n&quot;
+      def encrypt!(*args)
+        encrypted_string = encrypt(*args)
+        self.cipher = encrypted_string.cipher
         
-        # Decrypts this string.  If this is not a string that was previously
-        # encrypted, the cipher must be specified in the same way that it is
-        # when encrypting a string.
-        # 
-        # == Example
-        # 
-        # Without being previously encrypted:
-        # 
-        #   password = &quot;qSg8vOo6QfU=\n&quot;
-        #   password.decrypt(:symmetric, :password =&gt; 'secret')   # =&gt; &quot;shhhh&quot;
-        # 
-        # After being previously encrypted:
-        # 
-        #   password = 'shhhh'
-        #   password.encrypt!(:symmetric, :password =&gt; 'secret')  # =&gt; &quot;qSg8vOo6QfU=\n&quot;
-        #   password.decrypt                                      # =&gt; &quot;shhhh&quot;
-        def decrypt(*args)
-          raise ArgumentError, 'Cipher cannot be inferred: must specify it as an argument' if args.empty? &amp;&amp; !encrypted?
-          
-          cipher = args.empty? &amp;&amp; self.cipher || cipher_from_args(*args)
-          encrypted_string = cipher.decrypt(self)
-          encrypted_string.cipher = nil
-          
-          encrypted_string
-        end
+        replace(encrypted_string)
+      end
+      
+      # Is this string encrypted?  This will return true if the string is the
+      # result of a call to #encrypt or #encrypt!.
+      # 
+      # == Example
+      # 
+      #   password = 'shhhh'
+      #   password.encrypted? # =&gt; false
+      #   password.encrypt!   # =&gt; &quot;66c85d26dadde7e1db27e15a0776c921e27143bd&quot;
+      #   password.encrypted? # =&gt; true
+      def encrypted?
+        !cipher.nil?
+      end
+      
+      # Decrypts this string.  If this is not a string that was previously
+      # encrypted, the cipher must be specified in the same way that it is
+      # when encrypting a string.
+      # 
+      # == Example
+      # 
+      # Without being previously encrypted:
+      # 
+      #   password = &quot;qSg8vOo6QfU=\n&quot;
+      #   password.decrypt(:symmetric, :password =&gt; 'secret')   # =&gt; &quot;shhhh&quot;
+      # 
+      # After being previously encrypted:
+      # 
+      #   password = 'shhhh'
+      #   password.encrypt!(:symmetric, :password =&gt; 'secret')  # =&gt; &quot;qSg8vOo6QfU=\n&quot;
+      #   password.decrypt                                      # =&gt; &quot;shhhh&quot;
+      def decrypt(*args)
+        raise ArgumentError, 'Cipher cannot be inferred: must specify it as an argument' if args.empty? &amp;&amp; !encrypted?
         
-        # Decrypts this string and replaces it with the decrypted value  This
-        # takes the same parameters as #decrypt, but returns the same string
-        # instead of a different one.
-        # 
-        # For example,
-        # 
-        #   password = &quot;qSg8vOo6QfU=\n&quot;
-        #   password.decrypt!(:symmetric, :password =&gt; 'secret')  # =&gt; &quot;shhhh&quot;
-        #   password                                              # =&gt; &quot;shhhh&quot;
-        def decrypt!(*args)
-          value = replace(decrypt(*args))
-          self.cipher = nil
-          value
-        end
+        cipher = args.empty? &amp;&amp; self.cipher || cipher_from_args(*args)
+        encrypted_string = cipher.decrypt(self)
+        encrypted_string.cipher = nil
         
-        # Can this string be decrypted?  Strings can only be decrypted if they
-        # have previously been decrypted *and* the cipher supports decryption.
-        # To determine whether or not the cipher supports decryption, see the
-        # api for the cipher.
-        def can_decrypt?
-          encrypted? &amp;&amp; cipher.can_decrypt?
-        end
-        
-        # Tests whether the other object is equal to this one.  Encrypted strings
-        # will be tested not only on their encrypted strings, but also by
-        # decrypting them and running tests against the decrypted value.
-        # 
-        # == Equality with strings
-        # 
-        #   password = 'shhhh'
-        #   password.encrypt!   # =&gt; &quot;66c85d26dadde7e1db27e15a0776c921e27143bd&quot;
-        #   password            # =&gt; &quot;66c85d26dadde7e1db27e15a0776c921e27143bd&quot;
-        #   password == &quot;shhhh&quot; # =&gt; true
-        # 
-        # == Equality with encrypted strings
-        # 
-        #   password = 'shhhh'
-        #   password.encrypt!             # =&gt; &quot;66c85d26dadde7e1db27e15a0776c921e27143bd&quot;
-        #   password                      # =&gt; &quot;66c85d26dadde7e1db27e15a0776c921e27143bd&quot;
-        #   password == 'shhhh'           # =&gt; true
-        #   
-        #   another_password = 'shhhh'
-        #   another_password.encrypt!     # =&gt; &quot;66c85d26dadde7e1db27e15a0776c921e27143bd&quot;
-        #   password == another_password  # =&gt; true
-        def equals_with_encryption(other)
-          if !(is_equal = equals_without_encryption(other)) &amp;&amp; String === other
-            if encrypted?
-              if other.encrypted?
-                # We're both encrypted, so check if:
-                # (1) The other string is the encrypted value of this string
-                # (2) This string is the encrypted value of the other string
-                # (3) The other string is the encrypted value of this string, decrypted
-                # (4) This string is the encrypted value of the other string, decrypted
-                is_string_equal?(self, other) || is_string_equal?(other, self) || self.can_decrypt? &amp;&amp; is_string_equal?(self.decrypt, other) || other.can_decrypt? &amp;&amp; is_string_equal?(other.decrypt, self)
-              else
-                # Only we're encrypted
-                is_string_equal?(other, self)
-              end
+        encrypted_string
+      end
+      
+      # Decrypts this string and replaces it with the decrypted value  This
+      # takes the same parameters as #decrypt, but returns the same string
+      # instead of a different one.
+      # 
+      # For example,
+      # 
+      #   password = &quot;qSg8vOo6QfU=\n&quot;
+      #   password.decrypt!(:symmetric, :password =&gt; 'secret')  # =&gt; &quot;shhhh&quot;
+      #   password                                              # =&gt; &quot;shhhh&quot;
+      def decrypt!(*args)
+        value = replace(decrypt(*args))
+        self.cipher = nil
+        value
+      end
+      
+      # Can this string be decrypted?  Strings can only be decrypted if they
+      # have previously been decrypted *and* the cipher supports decryption.
+      # To determine whether or not the cipher supports decryption, see the
+      # api for the cipher.
+      def can_decrypt?
+        encrypted? &amp;&amp; cipher.can_decrypt?
+      end
+      
+      # Tests whether the other object is equal to this one.  Encrypted strings
+      # will be tested not only on their encrypted strings, but also by
+      # decrypting them and running tests against the decrypted value.
+      # 
+      # == Equality with strings
+      # 
+      #   password = 'shhhh'
+      #   password.encrypt!   # =&gt; &quot;66c85d26dadde7e1db27e15a0776c921e27143bd&quot;
+      #   password            # =&gt; &quot;66c85d26dadde7e1db27e15a0776c921e27143bd&quot;
+      #   password == &quot;shhhh&quot; # =&gt; true
+      # 
+      # == Equality with encrypted strings
+      # 
+      #   password = 'shhhh'
+      #   password.encrypt!             # =&gt; &quot;66c85d26dadde7e1db27e15a0776c921e27143bd&quot;
+      #   password                      # =&gt; &quot;66c85d26dadde7e1db27e15a0776c921e27143bd&quot;
+      #   password == 'shhhh'           # =&gt; true
+      #   
+      #   another_password = 'shhhh'
+      #   another_password.encrypt!     # =&gt; &quot;66c85d26dadde7e1db27e15a0776c921e27143bd&quot;
+      #   password == another_password  # =&gt; true
+      def equals_with_encryption(other)
+        if !(is_equal = equals_without_encryption(other)) &amp;&amp; String === other
+          if encrypted?
+            if other.encrypted?
+              # We're both encrypted, so check if:
+              # (1) The other string is the encrypted value of this string
+              # (2) This string is the encrypted value of the other string
+              # (3) The other string is the encrypted value of this string, decrypted
+              # (4) This string is the encrypted value of the other string, decrypted
+              is_string_equal?(self, other) || is_string_equal?(other, self) || self.can_decrypt? &amp;&amp; is_string_equal?(self.decrypt, other) || other.can_decrypt? &amp;&amp; is_string_equal?(other.decrypt, self)
             else
-              if other.encrypted?
-                # Only the other string is encrypted
-                is_string_equal?(self, other)
-              else
-                # Neither are encrypted and equality test didn't work before, so
-                # they can't be equal
-                false
-              end
+              # Only we're encrypted
+              is_string_equal?(other, self)
             end
           else
-            # The other value wasn't a string, so we can't check encryption equality
-            is_equal
-          end
-        end
-        
-        private
-          def is_string_equal?(value, encrypted_value) #:nodoc:
-            # If the encrypted value can be decrypted, then test against the decrypted value
-            if encrypted_value.can_decrypt?
-              encrypted_value.decrypt.equals_without_encryption(value)
+            if other.encrypted?
+              # Only the other string is encrypted
+              is_string_equal?(self, other)
             else
-              # Otherwise encrypt this value based on the cipher used on the encrypted value
-              # and test the equality of those strings
-              encrypted_value.equals_without_encryption(encrypted_value.cipher.encrypt(value))
+              # Neither are encrypted and equality test didn't work before, so
+              # they can't be equal
+              false
             end
           end
-          
-          # Builds the cipher to use from the given arguments
-          def cipher_from_args(*args) #:nodoc:
-            options = args.last.is_a?(Hash) ? args.pop : {}
-            name = (args.first || :sha).to_s.gsub(/(?:^|_)(.)/) {$1.upcase}
-            PluginAWeek::EncryptedStrings.const_get(&quot;#{name}Cipher&quot;).new(options)
-          end
+        else
+          # The other value wasn't a string, so we can't check encryption equality
+          is_equal
+        end
       end
+      
+      private
+        def is_string_equal?(value, encrypted_value) #:nodoc:
+          # If the encrypted value can be decrypted, then test against the decrypted value
+          if encrypted_value.can_decrypt?
+            encrypted_value.decrypt.equals_without_encryption(value)
+          else
+            # Otherwise encrypt this value based on the cipher used on the encrypted value
+            # and test the equality of those strings
+            encrypted_value.equals_without_encryption(encrypted_value.cipher.encrypt(value))
+          end
+        end
+        
+        # Builds the cipher to use from the given arguments
+        def cipher_from_args(*args) #:nodoc:
+          options = args.last.is_a?(Hash) ? args.pop : {}
+          name = (args.first || :sha).to_s.gsub(/(?:^|_)(.)/) {$1.upcase}
+          EncryptedStrings.const_get(&quot;#{name}Cipher&quot;).new(options)
+        end
     end
   end
 end
 
 ::String.class_eval do
-  include PluginAWeek::EncryptedStrings::Extensions::String
+  include EncryptedStrings::Extensions::String
 end</diff>
      <filename>lib/encrypted_strings/extensions/string.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,68 +1,66 @@
 require 'digest/sha1'
 
-module PluginAWeek #:nodoc:
-  module EncryptedStrings
-    # Encrypts a string using a Secure Hash Algorithm (SHA), specifically SHA-1.
-    # 
-    # == Encrypting
-    # 
-    # To encrypt a string using an SHA cipher, the salt used to seed the
-    # algorithm must be specified.  You can define the default for this value
-    # like so:
-    # 
-    #   PluginAWeek::EncryptedStrings::ShaCipher.default_salt = 'secret'
-    # 
-    # If these configuration options are not passed in to #encrypt, then the
-    # default values will be used.  You can override the default values like so:
-    # 
-    #   password = 'shhhh'
-    #   password.encrypt(:sha, :salt =&gt; 'secret')  # =&gt; &quot;ae645b35bb5dfea6c9133ac872e6adfa92a3c2bd&quot;
-    # 
-    # == Decrypting
-    # 
-    # SHA-encrypted strings cannot be decrypted.  The only way to determine
-    # whether an unencrypted value is equal to an SHA-encrypted string is to
-    # encrypt the value with the same salt.  For example,
+module EncryptedStrings
+  # Encrypts a string using a Secure Hash Algorithm (SHA), specifically SHA-1.
+  # 
+  # == Encrypting
+  # 
+  # To encrypt a string using an SHA cipher, the salt used to seed the
+  # algorithm must be specified.  You can define the default for this value
+  # like so:
+  # 
+  #   EncryptedStrings::ShaCipher.default_salt = 'secret'
+  # 
+  # If these configuration options are not passed in to #encrypt, then the
+  # default values will be used.  You can override the default values like so:
+  # 
+  #   password = 'shhhh'
+  #   password.encrypt(:sha, :salt =&gt; 'secret')  # =&gt; &quot;ae645b35bb5dfea6c9133ac872e6adfa92a3c2bd&quot;
+  # 
+  # == Decrypting
+  # 
+  # SHA-encrypted strings cannot be decrypted.  The only way to determine
+  # whether an unencrypted value is equal to an SHA-encrypted string is to
+  # encrypt the value with the same salt.  For example,
+  # 
+  #   password = 'shhhh'.encrypt(:sha, :salt =&gt; 'secret') # =&gt; &quot;3b22cbe4acde873c3efc82681096f3ae69aff828&quot;
+  #   input = 'shhhh'.encrypt(:sha, :salt =&gt; 'secret')    # =&gt; &quot;3b22cbe4acde873c3efc82681096f3ae69aff828&quot;
+  #   password == input                                   # =&gt; true
+  class ShaCipher &lt; Cipher
+    class &lt;&lt; self
+      # The default salt value to use during encryption
+      attr_accessor :default_salt
+    end
+    
+    # Set defaults
+    @default_salt = 'salt'
+    
+    # The salt value to use for encryption
+    attr_accessor :salt
+    
+    # Creates a new cipher that uses an SHA encryption strategy.
     # 
-    #   password = 'shhhh'.encrypt(:sha, :salt =&gt; 'secret') # =&gt; &quot;3b22cbe4acde873c3efc82681096f3ae69aff828&quot;
-    #   input = 'shhhh'.encrypt(:sha, :salt =&gt; 'secret')    # =&gt; &quot;3b22cbe4acde873c3efc82681096f3ae69aff828&quot;
-    #   password == input                                   # =&gt; true
-    class ShaCipher &lt; Cipher
-      class &lt;&lt; self
-        # The default salt value to use during encryption
-        attr_accessor :default_salt
-      end
-      
-      # Set defaults
-      @default_salt = 'salt'
+    # Configuration options:
+    # * +salt+ - Random bytes used as one of the inputs for generating the encrypted string
+    def initialize(options = {})
+      invalid_options = options.keys - [:salt]
+      raise ArgumentError, &quot;Unknown key(s): #{invalid_options.join(&quot;, &quot;)}&quot; unless invalid_options.empty?
       
-      # The salt value to use for encryption
-      attr_accessor :salt
+      options = {:salt =&gt; ShaCipher.default_salt}.merge(options)
       
-      # Creates a new cipher that uses an SHA encryption strategy.
-      # 
-      # Configuration options:
-      # * +salt+ - Random bytes used as one of the inputs for generating the encrypted string
-      def initialize(options = {})
-        invalid_options = options.keys - [:salt]
-        raise ArgumentError, &quot;Unknown key(s): #{invalid_options.join(&quot;, &quot;)}&quot; unless invalid_options.empty?
-        
-        options = {:salt =&gt; ShaCipher.default_salt}.merge(options)
-        
-        self.salt = options[:salt].to_s
-        
-        super()
-      end
+      self.salt = options[:salt].to_s
       
-      # Decryption is not supported
-      def can_decrypt?
-        false
-      end
-      
-      # Returns the encrypted value of the data
-      def encrypt(data)
-        Digest::SHA1.hexdigest(data + salt)
-      end
+      super()
+    end
+    
+    # Decryption is not supported
+    def can_decrypt?
+      false
+    end
+    
+    # Returns the encrypted value of the data
+    def encrypt(data)
+      Digest::SHA1.hexdigest(data + salt)
     end
   end
 end</diff>
      <filename>lib/encrypted_strings/sha_cipher.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,102 +1,100 @@
-module PluginAWeek #:nodoc:
-  module EncryptedStrings
-    # Indicates no password was specified for the symmetric cipher
-    class NoPasswordError &lt; StandardError
+module EncryptedStrings
+  # Indicates no password was specified for the symmetric cipher
+  class NoPasswordError &lt; StandardError
+  end
+  
+  # Symmetric encryption uses a specific algorithm and password to encrypt
+  # the string.  As long as the algorithm and password are known, the string
+  # can be decrypted.
+  # 
+  # Source: http://support.microsoft.com/kb/246071
+  # 
+  # == Encrypting 
+  # 
+  # To encrypt a string using a symmetric cipher, the algorithm and password
+  # must be specified.  You can define the defaults for these values like so:
+  # 
+  #   EncryptedStrings::SymmetricCipher.default_algorithm = 'des-ecb'
+  #   EncryptedStrings::SymmetricCipher.default_password = 'secret'
+  # 
+  # If these configuration options are not passed in to #encrypt, then the
+  # default values will be used.  You can override the default values like so:
+  # 
+  #   password = 'shhhh'
+  #   password.encrypt(:symmetric, :algorithm =&gt; 'des-ecb', :password =&gt; 'secret')  # =&gt; &quot;S/sEkViX3v4=\n&quot;
+  # 
+  # An exception will be raised if no password is specified.
+  # 
+  # == Decrypting
+  # 
+  # To decrypt a string using an symmetric cipher, the algorithm and password
+  # must be specified.  Defaults for these values can be defined as show above.
+  # 
+  # If these configuration options are not passed in to #decrypt, then the
+  # default values will be used.  You can override the default values like so:
+  # 
+  #   password = &quot;S/sEkViX3v4=\n&quot;
+  #   password.decrypt(:symmetric, :algorithm =&gt; 'des-ecb', :password =&gt; 'secret') # =&gt; &quot;shhhh&quot;
+  # 
+  # An exception will be raised if no password is specified.
+  class SymmetricCipher &lt; Cipher
+    class &lt;&lt; self
+      # The default algorithm to use for encryption.  Default is DES-EDE3-CBC.
+      attr_accessor :default_algorithm
+      
+      # The default password to use for generating the key and initialization
+      # vector.  Default is nil.
+      attr_accessor :default_password
     end
     
-    # Symmetric encryption uses a specific algorithm and password to encrypt
-    # the string.  As long as the algorithm and password are known, the string
-    # can be decrypted.
-    # 
-    # Source: http://support.microsoft.com/kb/246071
-    # 
-    # == Encrypting 
-    # 
-    # To encrypt a string using a symmetric cipher, the algorithm and password
-    # must be specified.  You can define the defaults for these values like so:
-    # 
-    #   PluginAWeek::EncryptedStrings::SymmetricCipher.default_algorithm = 'des-ecb'
-    #   PluginAWeek::EncryptedStrings::SymmetricCipher.default_password = 'secret'
-    # 
-    # If these configuration options are not passed in to #encrypt, then the
-    # default values will be used.  You can override the default values like so:
-    # 
-    #   password = 'shhhh'
-    #   password.encrypt(:symmetric, :algorithm =&gt; 'des-ecb', :password =&gt; 'secret')  # =&gt; &quot;S/sEkViX3v4=\n&quot;
-    # 
-    # An exception will be raised if no password is specified.
-    # 
-    # == Decrypting
-    # 
-    # To decrypt a string using an symmetric cipher, the algorithm and password
-    # must be specified.  Defaults for these values can be defined as show above.
-    # 
-    # If these configuration options are not passed in to #decrypt, then the
-    # default values will be used.  You can override the default values like so:
-    # 
-    #   password = &quot;S/sEkViX3v4=\n&quot;
-    #   password.decrypt(:symmetric, :algorithm =&gt; 'des-ecb', :password =&gt; 'secret') # =&gt; &quot;shhhh&quot;
+    # Set default values
+    @default_algorithm = 'DES-EDE3-CBC'
+    
+    # The algorithm to use for encryption/decryption
+    attr_accessor :algorithm
+    
+    # The password that generates the key/initialization vector for the
+    # algorithm
+    attr_accessor :password
+    
+    # Creates a new cipher that uses a symmetric encryption strategy.
     # 
-    # An exception will be raised if no password is specified.
-    class SymmetricCipher &lt; Cipher
-      class &lt;&lt; self
-        # The default algorithm to use for encryption.  Default is DES-EDE3-CBC.
-        attr_accessor :default_algorithm
-        
-        # The default password to use for generating the key and initialization
-        # vector.  Default is nil.
-        attr_accessor :default_password
-      end
-      
-      # Set default values
-      @default_algorithm = 'DES-EDE3-CBC'
-      
-      # The algorithm to use for encryption/decryption
-      attr_accessor :algorithm
+    # Configuration options:
+    # * +algorithm+ - The algorithm to use for generating the encrypted string
+    # * +password+ - The secret value to use for generating the key/initialization vector for the algorithm
+    def initialize(options = {})
+      invalid_options = options.keys - [:algorithm, :password]
+      raise ArgumentError, &quot;Unknown key(s): #{invalid_options.join(&quot;, &quot;)}&quot; unless invalid_options.empty?
       
-      # The password that generates the key/initialization vector for the
-      # algorithm
-      attr_accessor :password
+      options = {
+        :algorithm =&gt; SymmetricCipher.default_algorithm,
+        :password =&gt; SymmetricCipher.default_password
+      }.merge(options)
       
-      # Creates a new cipher that uses a symmetric encryption strategy.
-      # 
-      # Configuration options:
-      # * +algorithm+ - The algorithm to use for generating the encrypted string
-      # * +password+ - The secret value to use for generating the key/initialization vector for the algorithm
-      def initialize(options = {})
-        invalid_options = options.keys - [:algorithm, :password]
-        raise ArgumentError, &quot;Unknown key(s): #{invalid_options.join(&quot;, &quot;)}&quot; unless invalid_options.empty?
-        
-        options = {
-          :algorithm =&gt; SymmetricCipher.default_algorithm,
-          :password =&gt; SymmetricCipher.default_password
-        }.merge(options)
-        
-        self.algorithm = options[:algorithm]
-        self.password = options[:password]
-        raise NoPasswordError if password.nil?
-        
-        super()
-      end
-      
-      # Decrypts the current string using the current key and algorithm specified
-      def decrypt(data)
-        cipher = build_cipher(:decrypt)
-        cipher.update(Base64.decode64(data)) + cipher.final
-      end
+      self.algorithm = options[:algorithm]
+      self.password = options[:password]
+      raise NoPasswordError if password.nil?
       
-      # Encrypts the current string using the current key and algorithm specified
-      def encrypt(data)
-        cipher = build_cipher(:encrypt)
-        Base64.encode64(cipher.update(data) + cipher.final)
-      end
-      
-      private
-        def build_cipher(type) #:nodoc:
-          cipher = OpenSSL::Cipher.new(algorithm).send(type)
-          cipher.pkcs5_keyivgen(password)
-          cipher
-        end
+      super()
+    end
+    
+    # Decrypts the current string using the current key and algorithm specified
+    def decrypt(data)
+      cipher = build_cipher(:decrypt)
+      cipher.update(Base64.decode64(data)) + cipher.final
     end
+    
+    # Encrypts the current string using the current key and algorithm specified
+    def encrypt(data)
+      cipher = build_cipher(:encrypt)
+      Base64.encode64(cipher.update(data) + cipher.final)
+    end
+    
+    private
+      def build_cipher(type) #:nodoc:
+        cipher = OpenSSL::Cipher.new(algorithm).send(type)
+        cipher.pkcs5_keyivgen(password)
+        cipher
+      end
   end
 end</diff>
      <filename>lib/encrypted_strings/symmetric_cipher.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,27 +2,27 @@ require File.dirname(__FILE__) + '/test_helper'
 
 class NoPrivateKeyErrorTest &lt; Test::Unit::TestCase
   def test_should_exist
-    assert_not_nil PluginAWeek::EncryptedStrings::NoPrivateKeyError
+    assert_not_nil EncryptedStrings::NoPrivateKeyError
   end
 end
 
 class NoPublicKeyErrorTest &lt; Test::Unit::TestCase
   def test_should_exist
-    assert_not_nil PluginAWeek::EncryptedStrings::NoPublicKeyError
+    assert_not_nil EncryptedStrings::NoPublicKeyError
   end
 end
 
 class AsymmetricCipherByDefaultTest &lt; Test::Unit::TestCase
   def setup
-    @asymmetric_cipher = PluginAWeek::EncryptedStrings::AsymmetricCipher.new(:public_key_file =&gt; File.dirname(__FILE__) + '/keys/public')
+    @asymmetric_cipher = EncryptedStrings::AsymmetricCipher.new(:public_key_file =&gt; File.dirname(__FILE__) + '/keys/public')
   end
   
   def test_should_raise_an_exception
-    assert_raise(ArgumentError) {PluginAWeek::EncryptedStrings::AsymmetricCipher.new}
+    assert_raise(ArgumentError) {EncryptedStrings::AsymmetricCipher.new}
   end
   
   def test_should_not_have_a_public_key_file
-    @asymmetric_cipher = PluginAWeek::EncryptedStrings::AsymmetricCipher.new(:private_key_file =&gt; File.dirname(__FILE__) + '/keys/private')
+    @asymmetric_cipher = EncryptedStrings::AsymmetricCipher.new(:private_key_file =&gt; File.dirname(__FILE__) + '/keys/private')
     assert_nil @asymmetric_cipher.public_key_file
   end
   
@@ -41,13 +41,13 @@ end
 
 class AsymmetricCipherWithCustomDefaultsTest &lt; Test::Unit::TestCase
   def setup
-    @original_default_public_key_file = PluginAWeek::EncryptedStrings::AsymmetricCipher.default_public_key_file
-    @original_default_private_key_file = PluginAWeek::EncryptedStrings::AsymmetricCipher.default_private_key_file
+    @original_default_public_key_file = EncryptedStrings::AsymmetricCipher.default_public_key_file
+    @original_default_private_key_file = EncryptedStrings::AsymmetricCipher.default_private_key_file
     
-    PluginAWeek::EncryptedStrings::AsymmetricCipher.default_public_key_file = File.dirname(__FILE__) + '/keys/public'
-    PluginAWeek::EncryptedStrings::AsymmetricCipher.default_private_key_file = File.dirname(__FILE__) + '/keys/private'
+    EncryptedStrings::AsymmetricCipher.default_public_key_file = File.dirname(__FILE__) + '/keys/public'
+    EncryptedStrings::AsymmetricCipher.default_private_key_file = File.dirname(__FILE__) + '/keys/private'
     
-    @asymmetric_cipher = PluginAWeek::EncryptedStrings::AsymmetricCipher.new
+    @asymmetric_cipher = EncryptedStrings::AsymmetricCipher.new
   end
   
   def test_should_use_default_public_key_file
@@ -67,20 +67,20 @@ class AsymmetricCipherWithCustomDefaultsTest &lt; Test::Unit::TestCase
   end
   
   def teardown
-    PluginAWeek::EncryptedStrings::AsymmetricCipher.default_public_key_file = @original_default_public_key_file
-    PluginAWeek::EncryptedStrings::AsymmetricCipher.default_private_key_file = @original_default_private_key_file
+    EncryptedStrings::AsymmetricCipher.default_public_key_file = @original_default_public_key_file
+    EncryptedStrings::AsymmetricCipher.default_private_key_file = @original_default_private_key_file
   end
 end
 
 class AsymmetricCipherWithInvalidOptionsTest &lt; Test::Unit::TestCase
   def test_should_throw_an_exception
-    assert_raise(ArgumentError) {PluginAWeek::EncryptedStrings::AsymmetricCipher.new(:invalid =&gt; true)}
+    assert_raise(ArgumentError) {EncryptedStrings::AsymmetricCipher.new(:invalid =&gt; true)}
   end
 end
 
 class AsymmetricCipherTest &lt; Test::Unit::TestCase
   def setup
-    @asymmetric_cipher = PluginAWeek::EncryptedStrings::AsymmetricCipher.new(:public_key_file =&gt; File.dirname(__FILE__) + '/keys/public')
+    @asymmetric_cipher = EncryptedStrings::AsymmetricCipher.new(:public_key_file =&gt; File.dirname(__FILE__) + '/keys/public')
   end
   
   def test_should_be_able_to_decrypt
@@ -90,7 +90,7 @@ end
 
 class AsymmetricCipherWithoutPublicKeyTest &lt; Test::Unit::TestCase
   def setup
-    @asymmetric_cipher = PluginAWeek::EncryptedStrings::AsymmetricCipher.new(:public_key_file =&gt; nil, :private_key_file =&gt; File.dirname(__FILE__) + '/keys/private')
+    @asymmetric_cipher = EncryptedStrings::AsymmetricCipher.new(:public_key_file =&gt; nil, :private_key_file =&gt; File.dirname(__FILE__) + '/keys/private')
   end
   
   def test_should_not_be_public
@@ -98,13 +98,13 @@ class AsymmetricCipherWithoutPublicKeyTest &lt; Test::Unit::TestCase
   end
   
   def test_should_not_be_able_to_encrypt
-    assert_raise(PluginAWeek::EncryptedStrings::NoPublicKeyError) {@asymmetric_cipher.encrypt('test')}
+    assert_raise(EncryptedStrings::NoPublicKeyError) {@asymmetric_cipher.encrypt('test')}
   end
 end
 
 class AsymmetricCipherWithPublicKeyTest &lt; Test::Unit::TestCase
   def setup
-    @asymmetric_cipher = PluginAWeek::EncryptedStrings::AsymmetricCipher.new(:public_key_file =&gt; File.dirname(__FILE__) + '/keys/public')
+    @asymmetric_cipher = EncryptedStrings::AsymmetricCipher.new(:public_key_file =&gt; File.dirname(__FILE__) + '/keys/public')
   end
   
   def test_should_be_public
@@ -120,13 +120,13 @@ class AsymmetricCipherWithPublicKeyTest &lt; Test::Unit::TestCase
   end
   
   def test_should_not_be_able_to_decrypt
-    assert_raise(PluginAWeek::EncryptedStrings::NoPrivateKeyError) {@asymmetric_cipher.decrypt(&quot;HbEh0Hwri26S7SWYqO26DBbzfhR1h/0pXYLjSKUpxF5DOaOCtD9oRN748+Na\nrfNaVN5Eg7RUhbRFZE+UnNHo6Q==\n&quot;)}
+    assert_raise(EncryptedStrings::NoPrivateKeyError) {@asymmetric_cipher.decrypt(&quot;HbEh0Hwri26S7SWYqO26DBbzfhR1h/0pXYLjSKUpxF5DOaOCtD9oRN748+Na\nrfNaVN5Eg7RUhbRFZE+UnNHo6Q==\n&quot;)}
   end
 end
 
 class AsymmetricCipherWithoutPrivateKeyTest &lt; Test::Unit::TestCase
   def setup
-    @asymmetric_cipher = PluginAWeek::EncryptedStrings::AsymmetricCipher.new(:private_key_file =&gt; nil, :public_key_file =&gt; File.dirname(__FILE__) + '/keys/public')
+    @asymmetric_cipher = EncryptedStrings::AsymmetricCipher.new(:private_key_file =&gt; nil, :public_key_file =&gt; File.dirname(__FILE__) + '/keys/public')
   end
   
   def test_should_not_be_private
@@ -134,13 +134,13 @@ class AsymmetricCipherWithoutPrivateKeyTest &lt; Test::Unit::TestCase
   end
   
   def test_should_not_be_able_to_decrypt
-    assert_raise(PluginAWeek::EncryptedStrings::NoPrivateKeyError) {@asymmetric_cipher.decrypt(&quot;HbEh0Hwri26S7SWYqO26DBbzfhR1h/0pXYLjSKUpxF5DOaOCtD9oRN748+Na\nrfNaVN5Eg7RUhbRFZE+UnNHo6Q==\n&quot;)}
+    assert_raise(EncryptedStrings::NoPrivateKeyError) {@asymmetric_cipher.decrypt(&quot;HbEh0Hwri26S7SWYqO26DBbzfhR1h/0pXYLjSKUpxF5DOaOCtD9oRN748+Na\nrfNaVN5Eg7RUhbRFZE+UnNHo6Q==\n&quot;)}
   end
 end
 
 class AsymmetricCipherWithPrivateKeyTest &lt; Test::Unit::TestCase
   def setup
-    @asymmetric_cipher = PluginAWeek::EncryptedStrings::AsymmetricCipher.new(:private_key_file =&gt; File.dirname(__FILE__) + '/keys/private')
+    @asymmetric_cipher = EncryptedStrings::AsymmetricCipher.new(:private_key_file =&gt; File.dirname(__FILE__) + '/keys/private')
   end
   
   def test_should_not_be_public
@@ -152,7 +152,7 @@ class AsymmetricCipherWithPrivateKeyTest &lt; Test::Unit::TestCase
   end
   
   def test_not_should_be_able_to_encrypt
-    assert_raise(PluginAWeek::EncryptedStrings::NoPublicKeyError) {@asymmetric_cipher.encrypt('test')}
+    assert_raise(EncryptedStrings::NoPublicKeyError) {@asymmetric_cipher.encrypt('test')}
   end
   
   def test_should_be_able_to_decrypt
@@ -162,7 +162,7 @@ end
 
 class AsymmetricCipherWithEncryptedPrivateKeyTest &lt; Test::Unit::TestCase
   def setup
-    @asymmetric_cipher = PluginAWeek::EncryptedStrings::AsymmetricCipher.new(:private_key_file =&gt; File.dirname(__FILE__) + '/keys/encrypted_private', :algorithm =&gt; 'DES-EDE3-CBC', :password =&gt; 'secret')
+    @asymmetric_cipher = EncryptedStrings::AsymmetricCipher.new(:private_key_file =&gt; File.dirname(__FILE__) + '/keys/encrypted_private', :algorithm =&gt; 'DES-EDE3-CBC', :password =&gt; 'secret')
   end
   
   def test_should_not_be_public
@@ -174,7 +174,7 @@ class AsymmetricCipherWithEncryptedPrivateKeyTest &lt; Test::Unit::TestCase
   end
   
   def test_should_not_be_able_to_encrypt
-    assert_raise(PluginAWeek::EncryptedStrings::NoPublicKeyError) {@asymmetric_cipher.encrypt('test')}
+    assert_raise(EncryptedStrings::NoPublicKeyError) {@asymmetric_cipher.encrypt('test')}
   end
   
   def test_should_be_able_to_decrypt</diff>
      <filename>test/asymmetric_cipher_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,7 @@ require File.dirname(__FILE__) + '/test_helper'
 
 class CipherByDefaultTest &lt; Test::Unit::TestCase
   def setup
-    @cipher = PluginAWeek::EncryptedStrings::Cipher.new
+    @cipher = EncryptedStrings::Cipher.new
   end
   
   def test_should_be_able_to_decrypt_by_default</diff>
      <filename>test/cipher_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,7 @@ require File.dirname(__FILE__) + '/test_helper'
 
 class ShaCipherByDefaulTest &lt; Test::Unit::TestCase
   def setup
-    @sha_cipher = PluginAWeek::EncryptedStrings::ShaCipher.new
+    @sha_cipher = EncryptedStrings::ShaCipher.new
   end
   
   def test_should_use_default_salt
@@ -16,9 +16,9 @@ end
 
 class ShaCipherWithCustomDefaultsTest &lt; Test::Unit::TestCase
   def setup
-    @original_default_salt = PluginAWeek::EncryptedStrings::ShaCipher.default_salt
-    PluginAWeek::EncryptedStrings::ShaCipher.default_salt = 'custom_salt'
-    @sha_cipher = PluginAWeek::EncryptedStrings::ShaCipher.new
+    @original_default_salt = EncryptedStrings::ShaCipher.default_salt
+    EncryptedStrings::ShaCipher.default_salt = 'custom_salt'
+    @sha_cipher = EncryptedStrings::ShaCipher.new
   end
   
   def test_should_use_custom_default_salt
@@ -30,33 +30,33 @@ class ShaCipherWithCustomDefaultsTest &lt; Test::Unit::TestCase
   end
   
   def teardown
-    PluginAWeek::EncryptedStrings::ShaCipher.default_salt = @original_default_salt
+    EncryptedStrings::ShaCipher.default_salt = @original_default_salt
   end
 end
 
 class ShaCipherWithInvalidOptionsTest &lt; Test::Unit::TestCase
   def test_should_throw_an_exception
-    assert_raise(ArgumentError) {PluginAWeek::EncryptedStrings::ShaCipher.new(:invalid =&gt; true)}
+    assert_raise(ArgumentError) {EncryptedStrings::ShaCipher.new(:invalid =&gt; true)}
   end
 end
 
 class ShaCipherTest &lt; Test::Unit::TestCase
   def setup
-    @sha_cipher = PluginAWeek::EncryptedStrings::ShaCipher.new
+    @sha_cipher = EncryptedStrings::ShaCipher.new
   end
   
   def test_should_not_be_able_to_decrypt
-    assert !PluginAWeek::EncryptedStrings::ShaCipher.new.can_decrypt?
+    assert !EncryptedStrings::ShaCipher.new.can_decrypt?
   end
   
   def test_should_raise_exception_if_trying_to_decrypt
-    assert_raises(NotImplementedError) {PluginAWeek::EncryptedStrings::ShaCipher.new.decrypt('test')}
+    assert_raises(NotImplementedError) {EncryptedStrings::ShaCipher.new.decrypt('test')}
   end
 end
 
 class ShaCipherWithCustomOptionsTest &lt; Test::Unit::TestCase
   def setup
-    @sha_cipher = PluginAWeek::EncryptedStrings::ShaCipher.new(:salt =&gt; 'different salt')
+    @sha_cipher = EncryptedStrings::ShaCipher.new(:salt =&gt; 'different salt')
   end
   
   def test_should_use_custom_salt
@@ -72,7 +72,7 @@ class ShaCipherWithNonStringSaltTest &lt; Test::Unit::TestCase
   require 'time'
   
   def setup
-    @sha_cipher = PluginAWeek::EncryptedStrings::ShaCipher.new(:salt =&gt; Time.parse('Tue Jan 01 00:00:00 UTC 2008'))
+    @sha_cipher = EncryptedStrings::ShaCipher.new(:salt =&gt; Time.parse('Tue Jan 01 00:00:00 UTC 2008'))
   end
   
   def test_should_stringify_salt</diff>
      <filename>test/sha_cipher_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -6,7 +6,7 @@ class StringByDefaultTest &lt; Test::Unit::TestCase
   end
   
   def test_should_use_sha
-    assert_instance_of PluginAWeek::EncryptedStrings::ShaCipher, @encrypted_string.cipher
+    assert_instance_of EncryptedStrings::ShaCipher, @encrypted_string.cipher
   end
 end
 
@@ -16,7 +16,7 @@ class StringWithCustomOptionsTest &lt; Test::Unit::TestCase
   end
   
   def test_should_use_sha
-    assert_instance_of PluginAWeek::EncryptedStrings::ShaCipher, @encrypted_string.cipher
+    assert_instance_of EncryptedStrings::ShaCipher, @encrypted_string.cipher
   end
   
   def test_should_use_custom_options
@@ -30,7 +30,7 @@ class StringWithCustomCipher
   end
   
   def test_should_use_custom_cipher
-    assert_instance_of PluginAWeek::EncryptedStrings::SymmetricCipher, @encrypted_string.cipher
+    assert_instance_of EncryptedStrings::SymmetricCipher, @encrypted_string.cipher
   end
 end
 
@@ -73,7 +73,7 @@ class StringAfterBeingEncryptedAndReplacedTest &lt; Test::Unit::TestCase
   end
   
   def test_should_have_a_cipher
-    assert_instance_of PluginAWeek::EncryptedStrings::ShaCipher, @encrypted_string.cipher
+    assert_instance_of EncryptedStrings::ShaCipher, @encrypted_string.cipher
   end
   
   def test_should_be_encrypted</diff>
      <filename>test/string_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,13 +2,13 @@ require File.dirname(__FILE__) + '/test_helper'
 
 class NoPasswordErrorTest &lt; Test::Unit::TestCase
   def test_should_exist
-    assert_not_nil PluginAWeek::EncryptedStrings::NoPasswordError
+    assert_not_nil EncryptedStrings::NoPasswordError
   end
 end
 
 class SymmetricCipherByDefaultTest &lt; Test::Unit::TestCase
   def setup
-    @symmetric_cipher = PluginAWeek::EncryptedStrings::SymmetricCipher.new(:password =&gt; 'secret')
+    @symmetric_cipher = EncryptedStrings::SymmetricCipher.new(:password =&gt; 'secret')
   end
   
   def test_should_use_default_algorithm
@@ -16,7 +16,7 @@ class SymmetricCipherByDefaultTest &lt; Test::Unit::TestCase
   end
   
   def test_should_raise_exception
-    assert_raise(PluginAWeek::EncryptedStrings::NoPasswordError) {PluginAWeek::EncryptedStrings::SymmetricCipher.new}
+    assert_raise(EncryptedStrings::NoPasswordError) {EncryptedStrings::SymmetricCipher.new}
   end
   
   def test_should_encrypt_using_default_configuration
@@ -30,12 +30,12 @@ end
 
 class SymmetricCipherWithCustomDefaultsTest &lt; Test::Unit::TestCase
   def setup
-    @original_default_algorithm = PluginAWeek::EncryptedStrings::SymmetricCipher.default_algorithm
-    @original_default_password = PluginAWeek::EncryptedStrings::SymmetricCipher.default_password
+    @original_default_algorithm = EncryptedStrings::SymmetricCipher.default_algorithm
+    @original_default_password = EncryptedStrings::SymmetricCipher.default_password
     
-    PluginAWeek::EncryptedStrings::SymmetricCipher.default_algorithm = 'DES-EDE3-CFB'
-    PluginAWeek::EncryptedStrings::SymmetricCipher.default_password = 'secret'
-    @symmetric_cipher = PluginAWeek::EncryptedStrings::SymmetricCipher.new
+    EncryptedStrings::SymmetricCipher.default_algorithm = 'DES-EDE3-CFB'
+    EncryptedStrings::SymmetricCipher.default_password = 'secret'
+    @symmetric_cipher = EncryptedStrings::SymmetricCipher.new
   end
   
   def test_should_use_custom_default_algorithm
@@ -55,20 +55,20 @@ class SymmetricCipherWithCustomDefaultsTest &lt; Test::Unit::TestCase
   end
   
   def teardown
-    PluginAWeek::EncryptedStrings::SymmetricCipher.default_algorithm = @original_default_algorithm
-    PluginAWeek::EncryptedStrings::SymmetricCipher.default_password = @original_default_password
+    EncryptedStrings::SymmetricCipher.default_algorithm = @original_default_algorithm
+    EncryptedStrings::SymmetricCipher.default_password = @original_default_password
   end
 end
 
 class SymmetricCipherWithInvalidOptionsTest &lt; Test::Unit::TestCase
   def test_should_throw_an_exception
-    assert_raise(ArgumentError) {PluginAWeek::EncryptedStrings::SymmetricCipher.new(:invalid =&gt; true)}
+    assert_raise(ArgumentError) {EncryptedStrings::SymmetricCipher.new(:invalid =&gt; true)}
   end
 end
 
 class SymmetricCipherTest &lt; Test::Unit::TestCase
   def setup
-    @symmetric_cipher = PluginAWeek::EncryptedStrings::SymmetricCipher.new(:password =&gt; 'secret')
+    @symmetric_cipher = EncryptedStrings::SymmetricCipher.new(:password =&gt; 'secret')
   end
   
   def test_should_be_able_to_decrypt
@@ -78,7 +78,7 @@ end
 
 class SymmetricCipherWithCustomOptionsTest &lt; Test::Unit::TestCase
   def setup
-    @symmetric_cipher = PluginAWeek::EncryptedStrings::SymmetricCipher.new(:algorithm =&gt; 'DES-EDE3-CFB', :password =&gt; 'secret')
+    @symmetric_cipher = EncryptedStrings::SymmetricCipher.new(:algorithm =&gt; 'DES-EDE3-CFB', :password =&gt; 'secret')
   end
   
   def test_should_use_custom_algorithm</diff>
      <filename>test/symmetric_cipher_test.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>f0562c5b92877e5a141c385fe58602d0137c3830</id>
    </parent>
  </parents>
  <author>
    <name>Aaron Pfeifer</name>
    <email>aaron.pfeifer@gmail.com</email>
  </author>
  <url>http://github.com/pluginaweek/encrypted_strings/commit/ccb1bfae116d591ac61a238f795f229da57b13e8</url>
  <id>ccb1bfae116d591ac61a238f795f229da57b13e8</id>
  <committed-date>2008-12-14T17:54:25-08:00</committed-date>
  <authored-date>2008-12-14T17:54:25-08:00</authored-date>
  <message>Remove the PluginAWeek namespace</message>
  <tree>3970b24b36d39c3c8e8dba34d01a3565b60917f3</tree>
  <committer>
    <name>Aaron Pfeifer</name>
    <email>aaron.pfeifer@gmail.com</email>
  </committer>
</commit>
