ex_aequo_cli 0.1.0 → 0.1.1
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/lib/ex_aequo/cli/args/flag_description.rb +2 -1
- data/lib/ex_aequo/cli/args.rb +12 -4
- data/lib/ex_aequo/cli/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3184f17fe764d0605ef2372016a430761e1dd662089c49c4d9b7562091685868
|
4
|
+
data.tar.gz: c8384fec2791e3415101707b36555faf4527361098bc15daf73872c768d2f60b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2c183a089888a75915f0c8b9ee84bcac3ac163a8d9f885f12a449b35af2b1546478e9d3526a09ccfedbf7759b1b42ac85c331a2a67100a449bd648be2d96473d
|
7
|
+
data.tar.gz: 14a1be9b7f369e093b9db3c3f4fc1f9934555faca41c38163df71fe26d9dadc1d916949ddb0d2d8b483be6487ad3d5d007e425dd6badb965af9faf8066e70355
|
@@ -10,7 +10,7 @@ module ExAequo
|
|
10
10
|
BooleanFlagRgx = %r{\A : (.*) \z}x
|
11
11
|
OtherFlagRgx = %r{\A (.*?) : (.*) \z}x
|
12
12
|
|
13
|
-
attr_reader :default, :description, :name, :short, :type
|
13
|
+
attr_reader :alias, :default, :description, :name, :short, :type
|
14
14
|
|
15
15
|
def cast_value(value)
|
16
16
|
value = default if value.nil?
|
@@ -36,6 +36,7 @@ module ExAequo
|
|
36
36
|
check_and_set_type(flag.fetch(:type, :str))
|
37
37
|
@default = flag.fetch(:default, nil)
|
38
38
|
@description = flag.fetch(:description, :nil)
|
39
|
+
@alias = flag.fetch(:alias, :nil)
|
39
40
|
end
|
40
41
|
|
41
42
|
# def check_args!(flag, long:, type:, default:)
|
data/lib/ex_aequo/cli/args.rb
CHANGED
@@ -40,6 +40,7 @@ module ExAequo
|
|
40
40
|
|
41
41
|
private
|
42
42
|
def initialize(*args, &blk)
|
43
|
+
@aliases = {}
|
43
44
|
|
44
45
|
@flags = {}
|
45
46
|
args.each { define_flag it }
|
@@ -76,6 +77,15 @@ module ExAequo
|
|
76
77
|
def define_flag(flag)
|
77
78
|
desc = FlagDescription.new(flag)
|
78
79
|
@flags[desc.name] = desc
|
80
|
+
|
81
|
+
return unless ali = desc.alias
|
82
|
+
@aliases[ali] = desc.name
|
83
|
+
end
|
84
|
+
|
85
|
+
def get_real_name(match)
|
86
|
+
match => [name]
|
87
|
+
name = name.gsub('-','_').to_sym
|
88
|
+
@aliases.fetch(name, name)
|
79
89
|
end
|
80
90
|
|
81
91
|
def parse_arg
|
@@ -106,15 +116,13 @@ module ExAequo
|
|
106
116
|
end
|
107
117
|
|
108
118
|
def parse_flag(match)
|
109
|
-
|
110
|
-
name = name.gsub('-','_').to_sym
|
119
|
+
name = get_real_name(match)
|
111
120
|
@values[name] = true
|
112
121
|
@args.shift
|
113
122
|
end
|
114
123
|
|
115
124
|
def set_value(match)
|
116
|
-
|
117
|
-
name = name.gsub('-','_').to_sym
|
125
|
+
name = get_real_name(match)
|
118
126
|
@current_value_name = name
|
119
127
|
@args.shift
|
120
128
|
end
|
data/lib/ex_aequo/cli/version.rb
CHANGED