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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 11b5ee504e3aa03e93bc04e602b2ef9f8dfafb25
4
- data.tar.gz: 504177fda0c4e4b5d0c224780112bf5720a85c22
2
+ SHA256:
3
+ metadata.gz: 98c515c1a29e9e89dbf397c4fa444d2f057ed60d9baee99564a3a95e9f65637d
4
+ data.tar.gz: f27b553b4e53b72457ee85e033094765559025de82ada790c89d0dc39c91bf6a
5
5
  SHA512:
6
- metadata.gz: 78c18f5058db6dfdd47ff70ed19c994d9a280188cb012f9a26bf18b15faeb00c000419d2ce5f57486e07db5939653cc39f6259abf5b7d9493de4ef711c8b7d18
7
- data.tar.gz: ec9c2cb5b4c1a1d560ddaf6464168928fa5524095bb6f53582cb0e331e3b9456c3280bf402296750b975e6fe8bc9a5124b51546db53b871fb5e412c2e1a094c0
6
+ metadata.gz: 30e068d2d50b501fe98c9130ada71505db04a04031aab065ce425dc64cd42f6606d4d9a57e941cb6822d1692f15a5b024843fd74f46a6637fc743c5d4c9ca4bd
7
+ data.tar.gz: 5b197d808598723b1cec2ed54df5e55c898e0f35e9e1478dda6888c16270ec0f733256013cf1f065937bf35647223dd55b49b3eb48a5d1132f1cc39a31d4fe82
@@ -1,7 +1,9 @@
1
1
  sudo: false
2
2
  language: ruby
3
3
  rvm:
4
- - 2.4.0
5
- before_install: gem install bundler -v 1.14.2
4
+ - 2.5.0
5
+ - 2.6.5
6
+ - 2.7.0
7
+ before_install: gem install bundler
6
8
  notifications:
7
9
  email: false
@@ -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.dig(*target_keys), ref_path)
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
- require "filewatcher"
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 cahnges') do
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.exists?(@input)
105
+ unless File.exist?(@input)
94
106
  puts "#{@input} not found"
95
107
  exit 1
96
108
  end
@@ -3,7 +3,7 @@ class YamlRefResolver::Ref
3
3
  @base_dir = File.dirname(base_path)
4
4
 
5
5
  if target.start_with?("#")
6
- @target_file = nil
6
+ @target_file = base_path
7
7
  @target_level = target.sub("#", "")
8
8
  elsif !target.include?("#")
9
9
  @target_file = target
@@ -1,3 +1,3 @@
1
1
  class YamlRefResolver
2
- VERSION = "0.4.3"
2
+ VERSION = "0.6.0"
3
3
  end
@@ -4,7 +4,7 @@ class YamlRefResolver::Yaml
4
4
  attr_reader :content
5
5
 
6
6
  def self.load!(path:, key: '$ref')
7
- if File.exists?(path)
7
+ if File.exist?(path)
8
8
  begin
9
9
  self.new(path, YAML.load_file(path), key)
10
10
  rescue Psych::SyntaxError => e
@@ -22,10 +22,8 @@ Gem::Specification.new do |spec|
22
22
 
23
23
  spec.required_ruby_version = '>= 2.0.0'
24
24
 
25
- spec.add_dependency "filewatcher", "~> 0.5"
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.3
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: 2017-04-22 00:00:00.000000000 Z
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: '1.14'
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: '1.14'
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: '10.0'
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: '10.0'
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
- rubyforge_project:
127
- rubygems_version: 2.5.2
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: []