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!(h) ⇒ 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
49 50 51 52 53 54 55 56 57 |
# File 'lib/jenkins_pipeline_builder/utils.rb', line 49 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!(h) ⇒ Object
Code was duplicated from jeknins_api_client
33 34 35 36 37 38 39 40 41 |
# File 'lib/jenkins_pipeline_builder/utils.rb', line 33 def self.symbolize_keys_deep!(h) return unless h.is_a?(Hash) h.keys.each do |k| ks = k.respond_to?(:to_sym) ? k.to_sym : k h[ks] = h.delete k # Preserve order even when k == ks symbolize_keys_deep! h[ks] if h[ks].is_a? Hash h[ks].each { |item| symbolize_keys_deep!(item) } if h[ks].is_a?(Array) end end |
.symbolize_with_empty_hash!(array_of_maybe_str) ⇒ Object
43 44 45 46 47 |
# File 'lib/jenkins_pipeline_builder/utils.rb', line 43 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 |