Class: JenkinsPipelineBuilder::Utils
- Inherits:
-
Object
- Object
- JenkinsPipelineBuilder::Utils
- Defined in:
- lib/jenkins_pipeline_builder/utils.rb
Class Method Summary collapse
- .hash_merge!(old_hash, new_hash) ⇒ Object
-
.symbolize_keys_deep!(to_symbolize) ⇒ Object
Code was duplicated from jeknins_api_client.
- .symbolize_with_empty_hash!(array_of_maybe_str) ⇒ Object
Class Method Details
.hash_merge!(old_hash, new_hash) ⇒ Object
50 51 52 53 54 55 56 57 58 |
# File 'lib/jenkins_pipeline_builder/utils.rb', line 50 def self.hash_merge!(old_hash, new_hash) old_hash.merge!(new_hash) do |_key, old, new| if old.is_a?(Hash) && new.is_a?(Hash) hash_merge!(old, new) else new end end end |
.symbolize_keys_deep!(to_symbolize) ⇒ Object
Code was duplicated from jeknins_api_client
33 34 35 36 37 38 39 40 41 42 |
# File 'lib/jenkins_pipeline_builder/utils.rb', line 33 def self.symbolize_keys_deep!(to_symbolize) return unless to_symbolize.is_a?(Hash) to_symbolize.keys.each do |k| ks = k.respond_to?(:to_sym) ? k.to_sym : k to_symbolize[ks] = to_symbolize.delete k # Preserve order even when k == ks symbolize_keys_deep! to_symbolize[ks] if to_symbolize[ks].is_a? Hash to_symbolize[ks].each { |item| symbolize_keys_deep!(item) } if to_symbolize[ks].is_a?(Array) end end |
.symbolize_with_empty_hash!(array_of_maybe_str) ⇒ Object
44 45 46 47 48 |
# File 'lib/jenkins_pipeline_builder/utils.rb', line 44 def self.symbolize_with_empty_hash!(array_of_maybe_str) array_of_maybe_str.map! do |maybe_str| maybe_str.is_a?(String) ? { maybe_str.to_sym => {} } : maybe_str end end |