eac_cli 0.16.0 → 0.16.1

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: 901db493185f12775a163c9d1b017b32e520a62d48952eead7d6fef94a0dde64
4
- data.tar.gz: 474e78827b8ddd3b91f94a65fc250a9aaa36caece0377de75206c344cac06318
3
+ metadata.gz: 23a97e547ebd10f3efd4f64da1d46c47942b46baacf7407e0dc9079c76c20f4a
4
+ data.tar.gz: ddcabc7f42f2f616c86435098d7e2d9b840342965abf6e65d72f7311a0cdf06d
5
5
  SHA512:
6
- metadata.gz: f5594e5963d7e093ee29ceb4214e5d42deac0b59ca449d64dcbc06c2998806bf1011fdf592dfe395ad8269caca8b0b3d79656ab2d8f47a93594833b211406a01
7
- data.tar.gz: 89345d413dbd1c7cd52f1fa4ae08c20a2276f307e7c557e94ddf66dbbbbe14f967f0ec7570ac14e40921679702f1b5a7a97c31e69dc1b718e81727f2c4eab97c
6
+ metadata.gz: a56fa25e3023ab586c482573f170584927fd451dd9ab8fd0f53ae9707dfc037af24293ab856254512916c31bf218890b89e647a432e4ea1064fc3555ddd61e47
7
+ data.tar.gz: 0e303addfc58031901fb5a559184cd07fed828ef5ab80ffd7f6f16ad6f84b02136c181e90bb825799ed6af775747d0668ff6cda2179338f5366e4e7bcb2ec50f
@@ -28,7 +28,11 @@ module EacCli
28
28
  end
29
29
 
30
30
  def identifier
31
- long.to_s.variableize.to_sym
31
+ [long, short].each do |v|
32
+ v.to_s.if_present { |vv| return vv.variableize.to_sym }
33
+ end
34
+
35
+ raise 'No short or long option to build identifier'
32
36
  end
33
37
 
34
38
  def repeat?
@@ -27,8 +27,9 @@ module EacCli
27
27
 
28
28
  def parent_call(method_name, *args)
29
29
  return parent.context(method_name, *args) if parent.respond_to?(:context)
30
+ return parent.runner_context.call(method_name, *args) if parent.respond_to?(:runner_context)
30
31
 
31
- parent.runner_context.call(method_name, *args)
32
+ raise "Parent #{parent} do not respond to .context or .runner_context (Runner: #{runner})"
32
33
  end
33
34
  end
34
35
  end
@@ -3,15 +3,22 @@
3
3
  module EacCli
4
4
  module Runner
5
5
  module InstanceMethods
6
+ PARSER_ERROR_EXIT_CODE = 1
7
+
6
8
  def run_run
7
9
  parsed
8
10
  run_callbacks(:run) { run }
9
11
  rescue ::EacCli::Parser::Error => e
10
- $stderr.write("#{e}\n")
12
+ run_parser_error(e)
11
13
  rescue ::EacCli::Runner::Exit # rubocop:disable Lint/SuppressedException
12
14
  # Do nothing
13
15
  end
14
16
 
17
+ def run_parser_error(error)
18
+ $stderr.write("#{error}\n")
19
+ ::Kernel.exit(PARSER_ERROR_EXIT_CODE)
20
+ end
21
+
15
22
  def runner_context
16
23
  return @runner_context if @runner_context
17
24
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacCli
4
- VERSION = '0.16.0'
4
+ VERSION = '0.16.1'
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.16.0
4
+ version: 0.16.1
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-02-27 00:00:00.000000000 Z
11
+ date: 2021-04-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: eac_ruby_utils
@@ -108,7 +108,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
108
108
  - !ruby/object:Gem::Version
109
109
  version: '0'
110
110
  requirements: []
111
- rubygems_version: 3.0.8
111
+ rubygems_version: 3.0.9
112
112
  signing_key:
113
113
  specification_version: 4
114
114
  summary: Utilities to build CLI applications with Ruby.