kdep 0.3.0 → 0.3.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: f3ef2af09e9aa247210ced122bcc9c547a32a53eb87badf8b84b406858134024
4
- data.tar.gz: 3ece813bcdeef1d1da737e209ec3d6af5261231da4a4e34fa75a2637cbd1ba84
3
+ metadata.gz: d962875f073779d83a18069ff777a107db39ff7ac8cdd922d14492972c24288b
4
+ data.tar.gz: 1dc2947fe2e82b34b40dcc0355394f4983d2ca0095cc49eb8030eef2cb5229fc
5
5
  SHA512:
6
- metadata.gz: f849b90a283a8291f807dcce38bcf5a59e0304f69676fe212321a185a95b252abb8025ec4a37a81c79cbd667cde4186dbddff9239aa7c34b7a90b35108549cb1
7
- data.tar.gz: e91757586b1dd6574502b26ff03025c9a7e4b87aa48845c0d95b70b57f26c91df35bc84e824da0044fe2eb9997c1fa6e57ee32a4e6db12598ec66ae81ef9efaf
6
+ metadata.gz: 1debfdafa912d40db9e37dffa7a8ddd9ae088f1d5c0246bb67b284a93df29a09ac29702b3ed113b2d60a9429e0acd6ba3d8ddfa68a8b7efbf8a4f8646b3eee44
7
+ data.tar.gz: 45202494e9302714222da3f55e3400005773e9301e42577c00ffddd4449afd53b489a4d90dea6eed8a83283e48fca8f61e87c80e6eb64f9e646addb768a055db
data/lib/kdep/config.rb CHANGED
@@ -37,11 +37,7 @@ module Kdep
37
37
 
38
38
  def load_yaml(path)
39
39
  content = File.read(path)
40
- if RUBY_VERSION >= "3.1"
41
- YAML.safe_load(content, permitted_classes: [], permitted_symbols: [], aliases: false, filename: path) || {}
42
- else
43
- YAML.safe_load(content, [], [], false, path) || {}
44
- end
40
+ Kdep::YAMLCompat.safe_load(content, filename: path) || {}
45
41
  end
46
42
 
47
43
  def apply_defaults(config)
@@ -34,11 +34,7 @@ module Kdep
34
34
  config_file = File.join(@path, "app.yml")
35
35
  return {} unless File.exist?(config_file)
36
36
  content = File.read(config_file)
37
- if RUBY_VERSION >= "3.1"
38
- YAML.safe_load(content, permitted_classes: [], permitted_symbols: [], aliases: false) || {}
39
- else
40
- YAML.safe_load(content, [], [], false) || {}
41
- end
37
+ Kdep::YAMLCompat.safe_load(content) || {}
42
38
  end
43
39
 
44
40
  def materialized_files
@@ -727,11 +723,7 @@ module Kdep
727
723
  # Handle multi-document YAML
728
724
  content.split(/^---\s*$/).each do |part|
729
725
  next if part.strip.empty?
730
- doc = if RUBY_VERSION >= "3.1"
731
- YAML.safe_load(part, permitted_classes: [], permitted_symbols: [], aliases: false)
732
- else
733
- YAML.safe_load(part, [], [], false)
734
- end
726
+ doc = Kdep::YAMLCompat.safe_load(part)
735
727
  yield doc if doc.is_a?(Hash)
736
728
  end
737
729
  end
data/lib/kdep/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Kdep
2
- VERSION = "0.3.0"
2
+ VERSION = "0.3.1"
3
3
  end
@@ -0,0 +1,24 @@
1
+ require "yaml"
2
+
3
+ module Kdep
4
+ # Compatibility shim for YAML.safe_load across Psych versions.
5
+ #
6
+ # Psych 3.0 (Ruby 2.5): positional args only.
7
+ # Psych 3.1+ (Ruby 2.6+): kwargs added, positional still accepted.
8
+ # Psych 4.0+ (Ruby 3.1+): positional removed — kwargs only.
9
+ #
10
+ # We discriminate on Psych::VERSION (NOT RUBY_VERSION) because Psych is a
11
+ # default gem and can be updated independently of the Ruby runtime — e.g.
12
+ # Ruby 3.0 with an upgraded Psych 4+ would break a RUBY_VERSION-based check.
13
+ module YAMLCompat
14
+ module_function
15
+
16
+ def safe_load(content, filename: nil)
17
+ if Gem::Version.new(Psych::VERSION) >= Gem::Version.new("3.1.0")
18
+ YAML.safe_load(content, permitted_classes: [], permitted_symbols: [], aliases: false, filename: filename)
19
+ else
20
+ YAML.safe_load(content, [], [], false, filename)
21
+ end
22
+ end
23
+ end
24
+ end
data/lib/kdep.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require "kdep/version"
2
2
  require "kdep/ui"
3
+ require "kdep/yaml_compat"
3
4
  require "kdep/defaults"
4
5
  require "kdep/config"
5
6
  require "kdep/preset"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kdep
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Leadfy
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-03-30 00:00:00.000000000 Z
11
+ date: 2026-04-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -107,6 +107,7 @@ files:
107
107
  - lib/kdep/version.rb
108
108
  - lib/kdep/version_tagger.rb
109
109
  - lib/kdep/writer.rb
110
+ - lib/kdep/yaml_compat.rb
110
111
  - templates/init/app.yml.erb
111
112
  - templates/init/gitignore
112
113
  - templates/init/secrets.yml