Class: ProjectConfigManager
- Defined in:
- lib/ceedling/project_config_manager.rb
Instance Attribute Summary collapse
-
#config_hash ⇒ Object
Returns the value of attribute config_hash.
-
#options_files ⇒ Object
readonly
Returns the value of attribute options_files.
-
#release_config_changed ⇒ Object
readonly
Returns the value of attribute release_config_changed.
-
#test_config_changed ⇒ Object
readonly
Returns the value of attribute test_config_changed.
-
#test_defines_changed ⇒ Object
readonly
Returns the value of attribute test_defines_changed.
Instance Method Summary collapse
- #merge_options(config_hash, option_filepath) ⇒ Object
- #process_release_config_change ⇒ Object
- #process_test_config_change ⇒ Object
- #process_test_defines_change(files) ⇒ Object
- #setup ⇒ Object
Instance Attribute Details
#config_hash ⇒ Object
Returns the value of attribute config_hash.
7 8 9 |
# File 'lib/ceedling/project_config_manager.rb', line 7 def config_hash @config_hash end |
#options_files ⇒ Object (readonly)
Returns the value of attribute options_files.
6 7 8 |
# File 'lib/ceedling/project_config_manager.rb', line 6 def @options_files end |
#release_config_changed ⇒ Object (readonly)
Returns the value of attribute release_config_changed.
6 7 8 |
# File 'lib/ceedling/project_config_manager.rb', line 6 def release_config_changed @release_config_changed end |
#test_config_changed ⇒ Object (readonly)
Returns the value of attribute test_config_changed.
6 7 8 |
# File 'lib/ceedling/project_config_manager.rb', line 6 def test_config_changed @test_config_changed end |
#test_defines_changed ⇒ Object (readonly)
Returns the value of attribute test_defines_changed.
6 7 8 |
# File 'lib/ceedling/project_config_manager.rb', line 6 def test_defines_changed @test_defines_changed end |
Instance Method Details
#merge_options(config_hash, option_filepath) ⇒ Object
20 21 22 23 |
# File 'lib/ceedling/project_config_manager.rb', line 20 def (config_hash, option_filepath) @options_files << File.basename( option_filepath ) config_hash.deep_merge!( @yaml_wrapper.load( option_filepath ) ) end |
#process_release_config_change ⇒ Object
27 28 29 30 |
# File 'lib/ceedling/project_config_manager.rb', line 27 def process_release_config_change # has project configuration changed since last release build @release_config_changed = @cacheinator.diff_cached_release_config?( @config_hash ) end |
#process_test_config_change ⇒ Object
33 34 35 36 |
# File 'lib/ceedling/project_config_manager.rb', line 33 def process_test_config_change # has project configuration changed since last test build @test_config_changed = @cacheinator.diff_cached_test_config?( @config_hash ) end |
#process_test_defines_change(files) ⇒ Object
38 39 40 41 42 43 44 45 |
# File 'lib/ceedling/project_config_manager.rb', line 38 def process_test_defines_change(files) # has definitions changed since last test build @test_defines_changed = @cacheinator.diff_cached_test_defines?( files ) if @test_defines_changed # update timestamp for rake task prerequisites @file_wrapper.touch( @configurator.project_test_force_rebuild_filepath ) end end |
#setup ⇒ Object
12 13 14 15 16 17 |
# File 'lib/ceedling/project_config_manager.rb', line 12 def setup @options_files = [] @release_config_changed = false @test_config_changed = false @test_defines_changed = false end |