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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 981581db3c47348ed0b804ceb7af1068922afa7068f725cb92d825f5ae64bb50
4
- data.tar.gz: cb02f3c80a000e065e47166cca441f8c90878a3ab546230dbe627c4d4fdb9036
3
+ metadata.gz: 3184f17fe764d0605ef2372016a430761e1dd662089c49c4d9b7562091685868
4
+ data.tar.gz: c8384fec2791e3415101707b36555faf4527361098bc15daf73872c768d2f60b
5
5
  SHA512:
6
- metadata.gz: d53c316f21dd58b7fe9620be47e611269218356d0e5c774e7bccda40424c37c04eee908c55dd50e69366b1780ef05ac2b6c08a890cd3baa87e69fcb4d358cbc0
7
- data.tar.gz: 59f986a8d3c90da0b1c015fb89935945d270f299149dbfeed961c8e3fdd5ef9a55f5da9c7baadb15385bf3d281bccbe838f6877d2b35324403dd95a684d9842d
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:)
@@ -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
- match => [name]
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
- match => [name]
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
@@ -2,7 +2,7 @@
2
2
 
3
3
  module ExAequo
4
4
  module Cli
5
- VERSION = '0.1.0'
5
+ VERSION = '0.1.1'
6
6
  end
7
7
  end
8
8
  # SPDX-License-Identifier: AGPL-3.0-or-later
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ex_aequo_cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Dober