yaml_ref_resolver 0.4.3 → 0.6.0
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 +5 -5
- data/.travis.yml +4 -2
- data/lib/yaml_ref_resolver.rb +7 -1
- data/lib/yaml_ref_resolver/cli.rb +17 -5
- data/lib/yaml_ref_resolver/ref.rb +1 -1
- data/lib/yaml_ref_resolver/version.rb +1 -1
- data/lib/yaml_ref_resolver/yaml.rb +1 -1
- data/yaml_ref_resolver.gemspec +2 -4
- metadata +11 -26
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 98c515c1a29e9e89dbf397c4fa444d2f057ed60d9baee99564a3a95e9f65637d
|
|
4
|
+
data.tar.gz: f27b553b4e53b72457ee85e033094765559025de82ada790c89d0dc39c91bf6a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 30e068d2d50b501fe98c9130ada71505db04a04031aab065ce425dc64cd42f6606d4d9a57e941cb6822d1692f15a5b024843fd74f46a6637fc743c5d4c9ca4bd
|
|
7
|
+
data.tar.gz: 5b197d808598723b1cec2ed54df5e55c898e0f35e9e1478dda6888c16270ec0f733256013cf1f065937bf35647223dd55b49b3eb48a5d1132f1cc39a31d4fe82
|
data/.travis.yml
CHANGED
data/lib/yaml_ref_resolver.rb
CHANGED
|
@@ -62,7 +62,7 @@ class YamlRefResolver
|
|
|
62
62
|
if target_keys.size == 0
|
|
63
63
|
resolve_refs(@map[ref_path].content, ref_path)
|
|
64
64
|
else
|
|
65
|
-
resolve_refs(@map[ref_path].content
|
|
65
|
+
resolve_refs(dig(@map[ref_path].content, target_keys), ref_path)
|
|
66
66
|
end
|
|
67
67
|
else
|
|
68
68
|
Hash[key, resolve_refs(val, referrer)]
|
|
@@ -75,4 +75,10 @@ class YamlRefResolver
|
|
|
75
75
|
def resolve_array(array, referrer)
|
|
76
76
|
array.map {|e| resolve_refs(e, referrer) }
|
|
77
77
|
end
|
|
78
|
+
|
|
79
|
+
def dig(hash, keys)
|
|
80
|
+
keys.inject(hash) do |digged, key|
|
|
81
|
+
digged[key] or return nil
|
|
82
|
+
end
|
|
83
|
+
end
|
|
78
84
|
end
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
require "yaml_ref_resolver"
|
|
2
2
|
require "json"
|
|
3
3
|
require "optparse"
|
|
4
|
-
|
|
4
|
+
|
|
5
|
+
begin
|
|
6
|
+
require "filewatcher"
|
|
7
|
+
rescue => LoadError
|
|
8
|
+
end
|
|
5
9
|
|
|
6
10
|
class YamlRefResolver
|
|
7
11
|
class CLI
|
|
@@ -19,12 +23,13 @@ class YamlRefResolver
|
|
|
19
23
|
@opt.parse!(argv)
|
|
20
24
|
validate_input_path
|
|
21
25
|
|
|
22
|
-
resolve_and_dump
|
|
23
|
-
|
|
24
26
|
if @watch
|
|
27
|
+
resolve_and_dump
|
|
25
28
|
FileWatcher.new(resolver.files).watch do |filename|
|
|
26
29
|
resolve_and_dump(File.expand_path filename)
|
|
27
30
|
end
|
|
31
|
+
else
|
|
32
|
+
exit(1) unless resolve_and_dump
|
|
28
33
|
end
|
|
29
34
|
end
|
|
30
35
|
|
|
@@ -41,8 +46,11 @@ class YamlRefResolver
|
|
|
41
46
|
else
|
|
42
47
|
$stdout.write resolved_yaml_or_json!
|
|
43
48
|
end
|
|
49
|
+
|
|
50
|
+
return true
|
|
44
51
|
rescue => e
|
|
45
52
|
log e.message
|
|
53
|
+
return false
|
|
46
54
|
end
|
|
47
55
|
|
|
48
56
|
def resolved_yaml_or_json!
|
|
@@ -75,7 +83,11 @@ class YamlRefResolver
|
|
|
75
83
|
@key = key
|
|
76
84
|
end
|
|
77
85
|
|
|
78
|
-
@opt.on('-w', '--watch', 'glob pattern to watch
|
|
86
|
+
@opt.on('-w', '--watch', 'glob pattern to watch changes (needs filewatcher rubygem)') do
|
|
87
|
+
unless defined? FileWatcher
|
|
88
|
+
puts 'you need the `filewatcher` rubygem to watch for changes. You can run `gem install filewatcher` to install it.'
|
|
89
|
+
exit 1
|
|
90
|
+
end
|
|
79
91
|
@watch = true
|
|
80
92
|
end
|
|
81
93
|
|
|
@@ -90,7 +102,7 @@ class YamlRefResolver
|
|
|
90
102
|
exit 1
|
|
91
103
|
end
|
|
92
104
|
|
|
93
|
-
unless File.
|
|
105
|
+
unless File.exist?(@input)
|
|
94
106
|
puts "#{@input} not found"
|
|
95
107
|
exit 1
|
|
96
108
|
end
|
data/yaml_ref_resolver.gemspec
CHANGED
|
@@ -22,10 +22,8 @@ Gem::Specification.new do |spec|
|
|
|
22
22
|
|
|
23
23
|
spec.required_ruby_version = '>= 2.0.0'
|
|
24
24
|
|
|
25
|
-
spec.
|
|
26
|
-
|
|
27
|
-
spec.add_development_dependency "bundler", "~> 1.14"
|
|
28
|
-
spec.add_development_dependency "rake", "~> 10.0"
|
|
25
|
+
spec.add_development_dependency "bundler", "~> 2"
|
|
26
|
+
spec.add_development_dependency "rake", "~> 13.0"
|
|
29
27
|
spec.add_development_dependency "minitest", "~> 5.0"
|
|
30
28
|
spec.add_development_dependency "pry", "~> 0.10"
|
|
31
29
|
end
|
metadata
CHANGED
|
@@ -1,57 +1,43 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: yaml_ref_resolver
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.6.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Joe-noh
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2020-10-23 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
|
-
- !ruby/object:Gem::Dependency
|
|
14
|
-
name: filewatcher
|
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
|
16
|
-
requirements:
|
|
17
|
-
- - "~>"
|
|
18
|
-
- !ruby/object:Gem::Version
|
|
19
|
-
version: '0.5'
|
|
20
|
-
type: :runtime
|
|
21
|
-
prerelease: false
|
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
-
requirements:
|
|
24
|
-
- - "~>"
|
|
25
|
-
- !ruby/object:Gem::Version
|
|
26
|
-
version: '0.5'
|
|
27
13
|
- !ruby/object:Gem::Dependency
|
|
28
14
|
name: bundler
|
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
|
30
16
|
requirements:
|
|
31
17
|
- - "~>"
|
|
32
18
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
19
|
+
version: '2'
|
|
34
20
|
type: :development
|
|
35
21
|
prerelease: false
|
|
36
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
23
|
requirements:
|
|
38
24
|
- - "~>"
|
|
39
25
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '
|
|
26
|
+
version: '2'
|
|
41
27
|
- !ruby/object:Gem::Dependency
|
|
42
28
|
name: rake
|
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
|
44
30
|
requirements:
|
|
45
31
|
- - "~>"
|
|
46
32
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '
|
|
33
|
+
version: '13.0'
|
|
48
34
|
type: :development
|
|
49
35
|
prerelease: false
|
|
50
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
37
|
requirements:
|
|
52
38
|
- - "~>"
|
|
53
39
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: '
|
|
40
|
+
version: '13.0'
|
|
55
41
|
- !ruby/object:Gem::Dependency
|
|
56
42
|
name: minitest
|
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -80,7 +66,7 @@ dependencies:
|
|
|
80
66
|
- - "~>"
|
|
81
67
|
- !ruby/object:Gem::Version
|
|
82
68
|
version: '0.10'
|
|
83
|
-
description:
|
|
69
|
+
description:
|
|
84
70
|
email:
|
|
85
71
|
- goflb.jh@gmail.com
|
|
86
72
|
executables:
|
|
@@ -108,7 +94,7 @@ homepage: https://github.com/Joe-noh/yaml_ref_resolver
|
|
|
108
94
|
licenses:
|
|
109
95
|
- MIT
|
|
110
96
|
metadata: {}
|
|
111
|
-
post_install_message:
|
|
97
|
+
post_install_message:
|
|
112
98
|
rdoc_options: []
|
|
113
99
|
require_paths:
|
|
114
100
|
- lib
|
|
@@ -123,9 +109,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
123
109
|
- !ruby/object:Gem::Version
|
|
124
110
|
version: '0'
|
|
125
111
|
requirements: []
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
signing_key:
|
|
112
|
+
rubygems_version: 3.1.2
|
|
113
|
+
signing_key:
|
|
129
114
|
specification_version: 4
|
|
130
115
|
summary: Resolves referencing to other YAML files.
|
|
131
116
|
test_files: []
|