Sha256: c50fa2c9c82579120cdb0c634aa296a98fba3f78bee3de6af8102201f379b26c
Contents?: true
Size: 1.39 KB
Versions: 2
Compression:
Stored size: 1.39 KB
Contents
# ========================================================================= # Ceedling - Test-Centered Build System for C # ThrowTheSwitch.org # Copyright (c) 2010-25 Mike Karlesky, Mark VanderVoord, & Greg Williams # SPDX-License-Identifier: MIT # ========================================================================= class CacheinatorHelper constructor :file_wrapper, :yaml_wrapper def diff_cached_config?(cached_filepath, hash) return false if ( not @file_wrapper.exist?(cached_filepath) ) return true if (@yaml_wrapper.load(cached_filepath) != hash) return false end def diff_cached_defines?(cached_filepath, files) changed_defines = false current_defines = COLLECTION_DEFINES_TEST_AND_VENDOR.reject(&:empty?) current_dependencies = Hash[files.collect { |source| [source, current_defines.dup] }] if not @file_wrapper.exist?(cached_filepath) @yaml_wrapper.dump(cached_filepath, current_dependencies) return changed_defines end dependencies = @yaml_wrapper.load(cached_filepath) common_dependencies = current_dependencies.select { |file, defines| dependencies.has_key?(file) } if dependencies.values_at(*common_dependencies.keys) != common_dependencies.values changed_defines = true end dependencies.merge!(current_dependencies) @yaml_wrapper.dump(cached_filepath, dependencies) return changed_defines end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ceedling-1.0.1 | lib/ceedling/cacheinator_helper.rb |
ceedling-1.0.0 | lib/ceedling/cacheinator_helper.rb |