Skip to content
  • Martin Spickermann's avatar
    bd107964
    Bugfix: ActiveSupport::EncryptedConfiguration reading of comment-only encrypted files (#34014) · bd107964
    Martin Spickermann authored
    * Fix reading comment only encrypted files
    
    When a encrypted file contains only comments then reading that files raises an error:
    
        NoMethodError: undefined method `deep_symbolize_keys' for false:FalseClass
            activesupport/lib/active_support/encrypted_configuration.rb:33:in `config'
            test/encrypted_configuration_test.rb:52:in `block in <class:EncryptedConfigurationTest>'
    
    This happens because the previous implementation returned a `{}` fallback for blank YAML strings. But it did not handle YAML strings that are present but still do not contain any _usefull_ YAML - like the file created by `Rails::Generators::EncryptedFileGenerator` which looks like this:
    
        # aws:
        #   access_key_id: 123
        #   secret_access_key: 345
    
    * Fix coding style violation
    
    * Add backwardscompatible with Psych versions that were shipped with Ruby <2.5
    
    * Do not rely on railties for Active Support test
    
    * Simplify error handling
    
    * Improve test naming
    
    * Simplify file creation in test
    bd107964
    Bugfix: ActiveSupport::EncryptedConfiguration reading of comment-only encrypted files (#34014)
    Martin Spickermann authored
    * Fix reading comment only encrypted files
    
    When a encrypted file contains only comments then reading that files raises an error:
    
        NoMethodError: undefined method `deep_symbolize_keys' for false:FalseClass
            activesupport/lib/active_support/encrypted_configuration.rb:33:in `config'
            test/encrypted_configuration_test.rb:52:in `block in <class:EncryptedConfigurationTest>'
    
    This happens because the previous implementation returned a `{}` fallback for blank YAML strings. But it did not handle YAML strings that are present but still do not contain any _usefull_ YAML - like the file created by `Rails::Generators::EncryptedFileGenerator` which looks like this:
    
        # aws:
        #   access_key_id: 123
        #   secret_access_key: 345
    
    * Fix coding style violation
    
    * Add backwardscompatible with Psych versions that were shipped with Ruby <2.5
    
    * Do not rely on railties for Active Support test
    
    * Simplify error handling
    
    * Improve test naming
    
    * Simplify file creation in test
Loading