opt_parse_validator 1.7.4 → 1.8.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
2
  SHA256:
3
- metadata.gz: bfcde1ed88a3d3b41836d151c76a25e1f5c6f36e5e62a2910878d9463dc8bddd
4
- data.tar.gz: 6d07487070338fb64622883ed0c7d5cc70cc90e50d0c32ef56e48ebab47bdb07
3
+ metadata.gz: e37a9c3438b53cfe9453653062ef294af7b37c99acfe77937bd9ee1d8bebaca8
4
+ data.tar.gz: 1defdfeb5e06c3f37742fb54f19d38f3f0399d8564fcc2ffbe965ca476ab8bc5
5
5
  SHA512:
6
- metadata.gz: efc33f8e0cc1522c8d7b22d1bff81227f26bf67693c3ea14800d34e361bcf0a76d7b04aa656bfc5ce19c10b6a78a37d03b146ff75ac141b1db629ce90e95699d
7
- data.tar.gz: 5dba47501b4d609120a4033e1531ffe7af505e4bbd72aaea5a5725b1d00d61eddde009aa94096656a1fab9346c98e433a74be58dda68d67ea1cbe2ebd1032cf4
6
+ metadata.gz: 7b6297d0b83ca482b02796dea0830b569adc28bdf226822091bd74649712ca08494347cf18fc1ec4f07126eb0819723858418be1d37c7e00b046860f644a9c8b
7
+ data.tar.gz: 61a03033ff7bf52add8ea3886936e79ae188149c9b01dbe24f75706f30a4d577bcc0a61f0e02830be13272c4c35bca09dfe743f5dded863627696353717acebe
@@ -29,8 +29,8 @@ module OptParseValidator
29
29
  end
30
30
 
31
31
  # @return [ OptParseValidator::ConfigFilesLoaderMerger ]
32
- def options_files
33
- @options_files ||= ConfigFilesLoaderMerger.new
32
+ def config_files
33
+ @config_files ||= ConfigFilesLoaderMerger.new
34
34
  end
35
35
 
36
36
  # @param [ Array<OptBase> ] options
@@ -56,7 +56,7 @@ module OptParseValidator
56
56
 
57
57
  # @return [ Hash ]
58
58
  def results(argv = default_argv)
59
- load_options_files
59
+ load_config_files
60
60
  parse!(argv)
61
61
  post_processing
62
62
 
@@ -124,8 +124,8 @@ module OptParseValidator
124
124
  end
125
125
 
126
126
  # @return [ Void ]
127
- def load_options_files
128
- files_data = options_files.parse(symbolize_keys: true)
127
+ def load_config_files
128
+ files_data = config_files.parse
129
129
 
130
130
  @opts.each do |opt|
131
131
  next unless files_data.key?(opt.to_sym)
@@ -6,12 +6,11 @@ require_relative 'config_files_loader_merger/yml'
6
6
 
7
7
  # :nocov:
8
8
  # @param [ String ] path The path of the file to load
9
- # @param [ Hash ] opts See https://ruby-doc.org/stdlib-2.6.3/libdoc/psych/rdoc/Psych.html#method-c-safe_load
10
- def yaml_safe_load(path, opts = {})
9
+ def yaml_safe_load(path)
11
10
  if Gem::Version.new(Psych::VERSION) >= Gem::Version.new('3.1.0.pre1') # Ruby 2.6
12
- YAML.safe_load(File.read(path), opts) || {}
11
+ YAML.safe_load(File.read(path), permitted_classes: [Regexp]) || {}
13
12
  else
14
- YAML.safe_load(File.read(path), opts[:permitted_classes] || [], opts[:permitted_symbols] || [], opts[:aliases]) || {}
13
+ YAML.safe_load(File.read(path), [Regexp]) || {}
15
14
  end
16
15
  end
17
16
  # :nocov:
@@ -29,6 +28,8 @@ module OptParseValidator
29
28
  extensions.map { |sym| sym.to_s.downcase }
30
29
  end
31
30
 
31
+ attr_accessor :result_key
32
+
32
33
  # @param [ String ] file_path
33
34
  #
34
35
  # @return [ Self ]
@@ -43,16 +44,16 @@ module OptParseValidator
43
44
  end
44
45
 
45
46
  # @params [ Hash ] opts
46
- # @option opts [ Boolean ] :symbolize_keys Whether or not to symbolize keys in the returned hash
47
- # @option opts [ Array ] :yaml_arguments See https://ruby-doc.org/stdlib-2.3.1/libdoc/psych/rdoc/Psych.html#method-c-safe_load
48
47
  #
49
48
  # @return [ Hash ]
50
- def parse(opts = {})
49
+ def parse
51
50
  result = {}
52
51
 
53
- each { |option_file| result.deep_merge!(option_file.parse(opts)) }
52
+ each { |config_file| result.deep_merge!(config_file.parse) }
53
+
54
+ result = result.dig(result_key) || {} if result_key
54
55
 
55
- opts[:symbolize_keys] ? result.deep_symbolize_keys : result
56
+ result.deep_symbolize_keys
56
57
  end
57
58
  end
58
59
  end
@@ -12,9 +12,8 @@ module OptParseValidator
12
12
  @path = path
13
13
  end
14
14
 
15
- # @params [ Hash ] opts
16
15
  # @return [ Hash ] a { 'key' => value } hash
17
- def parse(_opts = {})
16
+ def parse
18
17
  raise NotImplementedError
19
18
  end
20
19
 
@@ -7,9 +7,8 @@ module OptParseValidator
7
7
  module ConfigFile
8
8
  # Json Implementation
9
9
  class JSON < Base
10
- # @params [ Hash ] opts
11
10
  # @return [ Hash ] a { 'key' => value } hash
12
- def parse(_opts = {})
11
+ def parse
13
12
  ::JSON.parse(File.read(path))
14
13
  end
15
14
  end
@@ -7,12 +7,9 @@ module OptParseValidator
7
7
  module ConfigFile
8
8
  # Yaml Implementation
9
9
  class YML < Base
10
- # @params [ Hash ] opts
11
- # @option opts [ Hash ] :yaml_options See https://ruby-doc.org/stdlib-2.6.3/libdoc/psych/rdoc/Psych.html#method-c-safe_load
12
- #
13
10
  # @return [ Hash ] a { 'key' => value } hash
14
- def parse(opts = {})
15
- yaml_safe_load(path, opts[:yaml_options] || {})
11
+ def parse
12
+ yaml_safe_load(path)
16
13
  end
17
14
  end
18
15
  end
@@ -94,7 +94,7 @@ module OptParseValidator
94
94
  # @return [ Array ]
95
95
  def value_from_pattern(item)
96
96
  choices.each do |key, opt|
97
- next unless item =~ /\A#{key.to_s}(.*)\z/
97
+ next unless item =~ /\A#{key}(.*)\z/
98
98
 
99
99
  return [opt, Regexp.last_match[1]]
100
100
  end
@@ -2,5 +2,5 @@
2
2
 
3
3
  # Gem Version
4
4
  module OptParseValidator
5
- VERSION = '1.7.4'
5
+ VERSION = '1.8.0'
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opt_parse_validator
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.4
4
+ version: 1.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - WPScanTeam
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-07-31 00:00:00.000000000 Z
11
+ date: 2019-09-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '4.2'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: 5.3.0
22
+ version: 6.1.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '4.2'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: 5.3.0
32
+ version: 6.1.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: addressable
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -39,7 +39,7 @@ dependencies:
39
39
  version: '2.5'
40
40
  - - "<"
41
41
  - !ruby/object:Gem::Version
42
- version: '2.7'
42
+ version: '2.8'
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
@@ -49,7 +49,7 @@ dependencies:
49
49
  version: '2.5'
50
50
  - - "<"
51
51
  - !ruby/object:Gem::Version
52
- version: '2.7'
52
+ version: '2.8'
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: bundler
55
55
  requirement: !ruby/object:Gem::Requirement
@@ -126,14 +126,14 @@ dependencies:
126
126
  requirements:
127
127
  - - "~>"
128
128
  - !ruby/object:Gem::Version
129
- version: 0.73.0
129
+ version: 0.74.0
130
130
  type: :development
131
131
  prerelease: false
132
132
  version_requirements: !ruby/object:Gem::Requirement
133
133
  requirements:
134
134
  - - "~>"
135
135
  - !ruby/object:Gem::Version
136
- version: 0.73.0
136
+ version: 0.74.0
137
137
  - !ruby/object:Gem::Dependency
138
138
  name: rubocop-performance
139
139
  requirement: !ruby/object:Gem::Requirement