dorian-yaml-compare 0.4.3 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/bin/yaml-compare +12 -9
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9d44f43e58b6b036a3280418124c2fd7226ddce763aa7d253303a09728739b82
4
- data.tar.gz: b0fb4e5aca1d40af29397579e320f2a03eaefbb2c1738129ac6a90d3ea9d26ed
3
+ metadata.gz: 8b484e45d633e3480cdc0114549cbb9217d149708ab08048671fe4555a37937d
4
+ data.tar.gz: a5854d191a25bafad252e0ee71bc7639f7913c4b74a1a5b68ed119cfa6f6cd7d
5
5
  SHA512:
6
- metadata.gz: fa9a43a8cfde60d671c9e9a583f4a17dff6cb110b84e8b46642a37c497b6c702d09e56e25a3fc9ae3bc41e5ca1e40c8923e0226ba34d31a5385914ad9589f0b2
7
- data.tar.gz: f72d5a67f68de1f5dc01df3d0a7a8ea790435c9e5a1a0033568cd52d61fa2cae216e21778ffbcb4f3891809100c8d038287720fd5ef1c2984fa2aabcb6a7ed44
6
+ metadata.gz: 5052ffdb3e9374c51917499b2fac008820432274a230903939dac5b2afd108b313ec381d1063d6200ea4f7520f42923a29ca3782648ff963c26387826e92a1eb
7
+ data.tar.gz: c5f2c2550b23049eb5caa725204dd8a8ecdc242f648b213ebc38a96a56597d55d29fed6e2b83cf9718c58cf611b9381fa2d4fdb86c4b8459f719b2400d921491
data/bin/yaml-compare CHANGED
@@ -1,6 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
2
  # frozen_string_literal: true
3
3
 
4
+ require "dorian/arguments"
5
+ require "stringio"
4
6
  require "yaml"
5
7
 
6
8
  def compare(hash1, hash2, current: "")
@@ -35,17 +37,18 @@ ensure
35
37
  $stdout = original_stdout
36
38
  end
37
39
 
38
- if ARGV.size < 2 || ARGV.size > 4
39
- puts "USAGE: yaml-compare FILE1 FILE2 [ROOT1] [ROOT2]"
40
- exit
40
+ parsed = Dorian::Arguments.parse(version: { alias: :v }, help: { alias: :h })
41
+
42
+ abort parsed.help if parsed.options.help
43
+
44
+ if parsed.options.version
45
+ abort File.read(File.expand_path("../../VERSION", __FILE__))
41
46
  end
42
47
 
43
- file1 = YAML.safe_load_file(ARGV[0])
44
- file2 = YAML.safe_load_file(ARGV[1])
45
- root1 = ARGV[2]
46
- root2 = ARGV[3]
47
- file1 = file1[root1] unless root1.nil?
48
- file2 = file2[root2] unless root2.nil?
48
+ file1, file2 = parsed.files.map { |file| YAML.safe_load(File.read(file)) }
49
+ root1, root2 = parsed.arguments
50
+ file1 = file1[root1] if root1
51
+ file2 = file2[root2] if root2
49
52
 
50
53
  output = with_captured_stdout { compare(file1, file2) }
51
54
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dorian-yaml-compare
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dorian Marié
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-08-22 00:00:00.000000000 Z
11
+ date: 2024-08-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: yaml