opt_parse_validator 0.0.13.10 → 0.0.13.11
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 +4 -4
- data/README.md +3 -0
- data/lib/opt_parse_validator/opts/directory_path.rb +5 -0
- data/lib/opt_parse_validator/opts/file_path.rb +8 -0
- data/lib/opt_parse_validator/opts/path.rb +6 -1
- data/lib/opt_parse_validator/version.rb +1 -1
- data/opt_parse_validator.gemspec +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3a90744747bab0639f4bcbb7f50f7303f1d1bd06
|
4
|
+
data.tar.gz: 968a77bee71151631058bf5028a22dfe984a06ec
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 71e52af14ca0a516aa77163ba216ac1491a321b0c5e3d076f76669a564b77e88afad004efb0d08193d8c9d4734ce06a7ff683c8f179883222cf64e5a502b6977
|
7
|
+
data.tar.gz: ce2da38c2d6b20869a702d91b7aecc6783baaca9b5951444852b1a0bdcd090717c0a8d372bf35dc4f32fe3e2cbb1afbd6c799bf58eb091cfc73d77d3dafd60d4
|
data/README.md
CHANGED
@@ -64,11 +64,13 @@ Some attributes are available for all Validators:
|
|
64
64
|
- :case_sensitive
|
65
65
|
- Credentials
|
66
66
|
- Directory Path
|
67
|
+
- :create
|
67
68
|
- :exists
|
68
69
|
- :executable
|
69
70
|
- :readable
|
70
71
|
- :writable
|
71
72
|
- File Path
|
73
|
+
- :create
|
72
74
|
- :exists
|
73
75
|
- :executable
|
74
76
|
- :readable
|
@@ -83,6 +85,7 @@ Some attributes are available for all Validators:
|
|
83
85
|
- incompatible
|
84
86
|
- Positive Integer
|
85
87
|
- Path
|
88
|
+
- :create
|
86
89
|
- :file
|
87
90
|
- :directory
|
88
91
|
- :exists
|
@@ -10,6 +10,14 @@ module OptParseValidator
|
|
10
10
|
@attrs.merge!(file: true)
|
11
11
|
end
|
12
12
|
|
13
|
+
# @param [ Pathname ] path
|
14
|
+
def check_create(path)
|
15
|
+
return if File.exist?(path.to_s)
|
16
|
+
|
17
|
+
FileUtils.mkdir_p(path.parent.to_s) unless Dir.exist?(path.parent.to_s)
|
18
|
+
FileUtils.touch(path.to_s)
|
19
|
+
end
|
20
|
+
|
13
21
|
def allowed_attrs
|
14
22
|
# :extensions is put at the first place
|
15
23
|
[:extensions] + super
|
@@ -3,6 +3,8 @@ module OptParseValidator
|
|
3
3
|
class OptPath < OptBase
|
4
4
|
# Initialize attrs:
|
5
5
|
#
|
6
|
+
# :create if set to true, will create the path
|
7
|
+
#
|
6
8
|
# :exists if set to false, will ignore the file? and directory? checks
|
7
9
|
#
|
8
10
|
# :file Check if the path is a file
|
@@ -18,6 +20,7 @@ module OptParseValidator
|
|
18
20
|
# @return [ String ]
|
19
21
|
def validate(value)
|
20
22
|
path = Pathname.new(value)
|
23
|
+
|
21
24
|
allowed_attrs.each do |key|
|
22
25
|
method = "check_#{key}"
|
23
26
|
send(method, path) if respond_to?(method) && attrs[key]
|
@@ -27,9 +30,11 @@ module OptParseValidator
|
|
27
30
|
end
|
28
31
|
|
29
32
|
def allowed_attrs
|
30
|
-
%i[file directory executable readable writable]
|
33
|
+
%i[create file directory executable readable writable]
|
31
34
|
end
|
32
35
|
|
36
|
+
# check_create is implemented in the file_path and directory_path opts
|
37
|
+
|
33
38
|
# @param [ Pathname ] path
|
34
39
|
def check_file(path)
|
35
40
|
fail Error, "'#{path}' is not a file" unless path.file? || attrs[:exists] == false
|
data/opt_parse_validator.gemspec
CHANGED
@@ -37,7 +37,7 @@ Gem::Specification.new do |s|
|
|
37
37
|
s.add_dependency 'activesupport', '~> 5.1.0'
|
38
38
|
|
39
39
|
s.add_development_dependency 'rake', '~> 12.0'
|
40
|
-
s.add_development_dependency 'rspec', '~> 3.
|
40
|
+
s.add_development_dependency 'rspec', '~> 3.7.0'
|
41
41
|
s.add_development_dependency 'rspec-its', '~> 1.2.0'
|
42
42
|
s.add_development_dependency 'bundler', '~> 1.6'
|
43
43
|
s.add_development_dependency 'rubocop', '~> 0.50.0'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: opt_parse_validator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.13.
|
4
|
+
version: 0.0.13.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- WPScanTeam
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 3.
|
61
|
+
version: 3.7.0
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 3.
|
68
|
+
version: 3.7.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rspec-its
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|