cli_utils 0.0.1 → 0.0.2

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.
Files changed (2) hide show
  1. data/lib/cli_utils.rb +8 -12
  2. metadata +1 -1
@@ -16,7 +16,7 @@ end
16
16
 
17
17
  class CliUtils
18
18
  include Errors
19
- attr_accessor :commands, :command, :optional, :required, :config
19
+ attr_accessor :commands, :command, :optional, :required, :config, :eval
20
20
 
21
21
  def initialize(commands_filepath=nil, config_filepath=nil, suggestions_count=nil)
22
22
  @s_count = suggestions_count || 4
@@ -27,11 +27,7 @@ class CliUtils
27
27
  parse_options
28
28
 
29
29
  if @command
30
- method = @commands[@command]['eval']
31
- if method
32
- eval method
33
- exit
34
- end
30
+ @eval = @commands[@command]['eval']
35
31
  end
36
32
 
37
33
  rescue ParseError => e
@@ -113,7 +109,7 @@ class CliUtils
113
109
  begin
114
110
  commands = JSON.parse(File.open(commands_filepath,'r').read)
115
111
  rescue JSON::ParserError => e
116
- raise ArgumentError.new("#{commands_filepath} contents is not valid JSON:\n#{e.message}")
112
+ raise ArgumentError.new("#{commands_filepath} contents is not valid JSON")
117
113
  end
118
114
 
119
115
  raise ArgumentError.new("#{commands_filepath} is not an array") unless commands.is_a?(Array)
@@ -185,13 +181,13 @@ class CliUtils
185
181
 
186
182
  def usage(command)
187
183
  c = @commands[command]
188
- long = c['long']
189
- short = c['short']
190
- required = c['required'].map{|r| "<#{r}>"}.join(' ')
184
+ long = c['long'] || ''
185
+ short = c['short'] ? "(#{c['short']})" : ''
186
+ required = (c['required'] || []).map{|r| "<#{r}>"}.join(' ')
191
187
 
192
- optional = c['optional'].map{|o| "[#{o}#{o.start_with?('--') ? ' foo' : ''}]"}.join(' ')
188
+ optional = (c['optional'] || []).map{|o| "[#{o}#{o.start_with?('--') ? ' foo' : ''}]"}.join(' ')
193
189
 
194
- "#{long} (#{short}) #{required} #{optional}".gsub(/ +/,' ')
190
+ "#{long} #{short} #{required} #{optional}".gsub(/ +/,' ')
195
191
  end
196
192
 
197
193
  def is_command?(str)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cli_utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: