eac_cli 0.22.2 → 0.23.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: addf1296db61bf83db37d4fd1b11b57df5b7f8ef9d9160c768a7137a551c5431
4
- data.tar.gz: 7d6ade217a69e6401e52b626851f1182868b10140c76e4bbaff20145ca281e85
3
+ metadata.gz: 83001efcf8f90755307ba7f698e3919e7af3571bafe9ed6f0f74fff9aca74cbf
4
+ data.tar.gz: 5078279000926f25770c2140f52ecd22b529dbb6e41b90d9fae8bf307d919fd6
5
5
  SHA512:
6
- metadata.gz: 74e1b0ee301de2feed32bb3917d31ee01743a3058ed0ea46e3dfbf12ad4dc38fcde0798c74d3b65252421f952b2502065f8fcbd813cd921651610300628b60ed
7
- data.tar.gz: 439240ffac23cc174d47d37ab9ce97ce5529275c26813430f93655bb568094112448b253fcd6065bfd47955d08ac09044885bc4c2c5672d4f84a87392217ec6b
6
+ metadata.gz: d61b0be63a20b53829ba0d0acd0a62e1a787bda68c0e3dd537cf591aa48ad9e8f5476db4ac38417dda5a8368c1780d1efd5fb52f69ff20b4866a5f21584087c3
7
+ data.tar.gz: 53a1c2c490ccf7fa892951bd888a07614e5169d3896cc88afcb6fcb081e2a01dc64de2ce14b3ab62b01242355df60251fb24b5bbd27ce05d425b6e26077eef2b
@@ -13,7 +13,7 @@ module EacCli
13
13
  repeat? ? previous_value + [new_value] : new_value
14
14
  end
15
15
 
16
- def default_value
16
+ def default_default_value
17
17
  repeat? ? [] : nil
18
18
  end
19
19
  end
@@ -18,7 +18,7 @@ module EacCli
18
18
 
19
19
  enable_listable
20
20
  enable_abstract_methods :build_value, :default_value
21
- lists.add_symbol :option, :optional, :usage, :repeat, :required
21
+ lists.add_symbol :option, :default, :optional, :usage, :repeat, :required
22
22
  common_constructor :short, :long, :description, :options, default: [{}] do
23
23
  raise 'Nor short neither long selector was set' if short.blank? && long.blank?
24
24
 
@@ -27,6 +27,14 @@ module EacCli
27
27
  )
28
28
  end
29
29
 
30
+ def default_value
31
+ default_value? ? options[OPTION_DEFAULT] : default_default_value
32
+ end
33
+
34
+ def default_value?
35
+ options.key?(OPTION_DEFAULT)
36
+ end
37
+
30
38
  def identifier
31
39
  [long, short].each do |v|
32
40
  v.to_s.if_present { |vv| return vv.variableize.to_sym }
@@ -14,6 +14,12 @@ module EacCli
14
14
  end
15
15
 
16
16
  def default_value
17
+ return super unless default_value?
18
+
19
+ raise "Unallowed default value for boolean options (Option: #{self})"
20
+ end
21
+
22
+ def default_default_value
17
23
  repeat? ? 0 : false
18
24
  end
19
25
  end
@@ -36,9 +36,9 @@ module EacCli
36
36
  end
37
37
 
38
38
  def option_definition(option)
39
- self.class.option_usage_full(option) + option.description.if_present('') do |v|
40
- OPTION_DESC_SEP + v
41
- end
39
+ [self.class.option_usage_full(option), option.description,
40
+ option.default_value? ? "[Default: \"#{option.default_value}\"]" : nil]
41
+ .reject(&:blank?).join(OPTION_DESC_SEP)
42
42
  end
43
43
 
44
44
  def section(header, include_header = true)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacCli
4
- VERSION = '0.22.2'
4
+ VERSION = '0.23.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eac_cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.22.2
4
+ version: 0.23.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esquilo Azul Company
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-07-25 00:00:00.000000000 Z
11
+ date: 2021-09-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize