yaml_extend 1.2.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 053aef54e93b410f7b2eb373834abff17b4f1a2627d292f2eacb479fb78d4d9b
4
- data.tar.gz: 70dd53ab46254a6dfed23530c74e3668d14a81844792ac980d4c03b0fb141d24
3
+ metadata.gz: ec1808b7abe4ba5c1873c8936f54f3e046b8b8e0d95fccc224012bec384d6e29
4
+ data.tar.gz: 4c5193ab9b82cf6c4c75e8bbbf6f22ed86548aa219e4fc7c6d2693c531906e9c
5
5
  SHA512:
6
- metadata.gz: 390f032971732ece98f75c58bf471da9ce8085918cbedcf40fd840087a30e45da8a0db7df2fc06030d965ac9b0dae170f2745cdcacb09cf30b2acbcfe9d4118a
7
- data.tar.gz: de9bfd1e7e9e2bf45f6783f387284720fdc54db997a6ba9f0eacf4b03a57f6fd2deb9c3596b868e81695da39873c277beefaee3d99ad7b31ffee103d4e208cfd
6
+ metadata.gz: 7fd78eca7e2fccc281470237a99660cd7a20115789d2d2ee735167b9f62920c57b3240950d0ecceb472e39a4af9248298e5f13d0ea2b8db380fa5e50780a9a71
7
+ data.tar.gz: 7002a22e0128f7a8f255a3d0d56e66bf09d084f5b0abdf0d49844e49c93ada8fd747f03b1df7950dd731b40aca6b6ff6e496034239b3f74324ba2b495e998500
@@ -1,3 +1,3 @@
1
1
  module YamlExtend
2
- VERSION = '1.2.0'.freeze
2
+ VERSION = '1.2.1'.freeze
3
3
  end
data/lib/yaml_extend.rb CHANGED
@@ -15,15 +15,15 @@ module YAML
15
15
  @@ext_load_key = nil
16
16
 
17
17
  DEEP_MERGE_OPTIONS = [
18
- :preserve_unmergeables,
19
- :knockout_prefix,
20
- :overwrite_arrays,
21
- :sort_merged_arrays,
22
- :unpack_arrays,
23
- :merge_hash_arrays,
24
- :extend_existing_arrays,
25
- :merge_nil_values,
26
- :merge_debug,
18
+ :preserve_unmergeables,
19
+ :knockout_prefix,
20
+ :overwrite_arrays,
21
+ :sort_merged_arrays,
22
+ :unpack_arrays,
23
+ :merge_hash_arrays,
24
+ :extend_existing_arrays,
25
+ :merge_nil_values,
26
+ :merge_debug,
27
27
  ]
28
28
 
29
29
  #
@@ -86,19 +86,19 @@ module YAML
86
86
  yaml_path = yaml_path.to_s
87
87
  # backward compatibility to 1.0.1
88
88
  if options == true || options == false
89
- options = {extend_existing_arrays: options}
89
+ options = { extend_existing_arrays: options }
90
90
  end
91
91
  default_options = {
92
- preserve_inheritance_key: false,
93
- preserve_unmergeables: false,
94
- knockout_prefix: nil,
95
- overwrite_arrays: false,
96
- sort_merged_arrays: false,
97
- unpack_arrays: nil,
98
- merge_hash_arrays: false,
99
- extend_existing_arrays: true,
100
- merge_nil_values: false,
101
- merge_debug: false,
92
+ preserve_inheritance_key: false,
93
+ preserve_unmergeables: false,
94
+ knockout_prefix: nil,
95
+ overwrite_arrays: false,
96
+ sort_merged_arrays: false,
97
+ unpack_arrays: nil,
98
+ merge_hash_arrays: false,
99
+ extend_existing_arrays: true,
100
+ merge_nil_values: false,
101
+ merge_debug: false,
102
102
  }
103
103
  options = default_options.merge options
104
104
  private_class_method
@@ -111,9 +111,17 @@ module YAML
111
111
 
112
112
  super_config =
113
113
  if yaml_path.match(/(\.erb\.|\.erb$)/)
114
- YAML.unsafe_load(ERB.new(File.read(yaml_path)).result)
114
+ if YAML.respond_to? :unsafe_load # backward compatibility for Ruby 3.1 / Psych 4
115
+ YAML.unsafe_load(ERB.new(File.read(yaml_path)).result)
116
+ else
117
+ YAML.load(ERB.new(File.read(yaml_path)).result)
118
+ end
115
119
  else
116
- YAML.unsafe_load_file(File.open(yaml_path))
120
+ if YAML.respond_to? :unsafe_load_file # backward compatibility for Ruby 3.1 / Psych 4
121
+ YAML.unsafe_load_file(File.open(yaml_path))
122
+ else
123
+ YAML.load_file(File.open(yaml_path))
124
+ end
117
125
  end
118
126
 
119
127
  super_inheritance_files = yaml_value_by_key inheritance_key, super_config
@@ -149,7 +157,8 @@ module YAML
149
157
  # [2] is the external caller of YAML.ext_load_file
150
158
  base_path = if defined?(caller_locations)
151
159
  File.dirname(caller_locations[2].path)
152
- else # Fallback for ruby < 2.1.10
160
+ else
161
+ # Fallback for ruby < 2.1.10
153
162
  File.dirname(caller[2])
154
163
  end
155
164
  return base_path + '/' + file_path if File.exist? base_path + '/' + file_path # relative path from yaml file
@@ -165,7 +174,7 @@ module YAML
165
174
  def self.absolute_path?(path)
166
175
  private_class_method
167
176
  path.start_with?('/') || # unix like
168
- (path.length >= 3 && path[1] == ':') # ms windows
177
+ (path.length >= 3 && path[1] == ':') # ms windows
169
178
  end
170
179
 
171
180
  # Return the value of the corresponding key
@@ -187,7 +196,7 @@ module YAML
187
196
 
188
197
  def self.valid_key_type?(key)
189
198
  key.is_a?(Array) || key.is_a?(String) ||
190
- raise(InvalidKeyTypeError, "Invalid key of type '#{key.class.name}'. Valid types are String and Array.")
199
+ raise(InvalidKeyTypeError, "Invalid key of type '#{key.class.name}'. Valid types are String and Array.")
191
200
  end
192
201
 
193
202
  def self.delete_yaml_key(key, config)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yaml_extend
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthäus Beyrle
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-07-19 00:00:00.000000000 Z
11
+ date: 2022-07-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: deep_merge