cmd_executable 1.2.0 → 1.2.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: 2be28fc8b7b25d870c1ecd8043f8e170e7778671ab748db457a5e11d416711b7
4
- data.tar.gz: 8e5fd645751d0beec7b4b29873de947252c87ae20ceef72704af7892f20b8dc6
3
+ metadata.gz: abe5b341ee72889b2f6fef8fb49674f4a264139c99930a568e454fa39f602595
4
+ data.tar.gz: 057b080db6987e538dde260cc789eb4033d4821f437da68baebd8bbdf9b52413
5
5
  SHA512:
6
- metadata.gz: 0745f442bea47b45b4b3024599be749d1cdc21e7ec52d8ab3de6cba1d679ea2d1e5ded411cc194896165fcad528d0d92d6305f318b2edb5f5ab501c0d83a814e
7
- data.tar.gz: 2827fbf6270af7564eb8fec73ab55985c7a366f2521bc4b16f600e43f463dfce38f8fe439432369b96230812f1e96189a67d4c7c1f4ef9794d1a84756cbb77ca
6
+ metadata.gz: 179e29ce611cb66c883b3619b46102a82356c8b76eee5060efdbd78b1363bd67abb5dc3adae80698fa7d9493aa868de0376312c92ada9f327bfc4af7375d9c7f
7
+ data.tar.gz: 7518809cc0626aa005aa844d881f4191e6e44cadb674f884873f2775860d498f0e4d4fd8e5a2fb6534ea2ed62448f36be6b79c7d943e6af1d4c1a026d0ddda7b
@@ -48,7 +48,7 @@ module CmdExecutable
48
48
 
49
49
  def self.executable?(command)
50
50
  parsed = CmdExecutable::Parser.new(command)
51
- raise ArgumentError unless parsed.validate?
51
+ raise CmdExecutable::ParserError, parsed.raw unless parsed.validate?
52
52
 
53
53
  `type "#{parsed.command}" > /dev/null 2>&1`.yield_self do
54
54
  $CHILD_STATUS.success?
@@ -29,6 +29,8 @@ module CmdExecutable
29
29
 
30
30
  # Parser for CmdExecutable
31
31
  class Parser
32
+ attr_reader :raw
33
+
32
34
  def initialize(raw)
33
35
  @raw = raw
34
36
  @raw.freeze
@@ -59,7 +61,7 @@ module CmdExecutable
59
61
  end
60
62
 
61
63
  def parse
62
- raise CmdExecutable::ParserError unless validate?
64
+ raise CmdExecutable::ParserError, @raw unless validate?
63
65
 
64
66
  path = escape_char(@raw.to_s.chomp)
65
67
  @dirname = parse_dirname(path)
@@ -34,6 +34,10 @@ module CmdExecutable
34
34
  class Runner < Thor
35
35
  include CmdExecutable
36
36
 
37
+ def self.exit_on_failure?
38
+ true
39
+ end
40
+
37
41
  map '-c' => :check
38
42
 
39
43
  desc '-c [/path/to/command]', "It's return true if given command usable on Linux."
@@ -45,6 +49,9 @@ module CmdExecutable
45
49
  puts 'NOT FOUND'
46
50
  exit 1
47
51
  end
52
+ rescue CmdExecutable::ParserError => e
53
+ warn "Invalid command: `#{e.message}'"
54
+ exit 16
48
55
  end
49
56
 
50
57
  map %w[-v --version] => :version
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CmdExecutable
4
- VERSION = '1.2.0'
4
+ VERSION = '1.2.1'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cmd_executable
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Toshiki
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-06-13 00:00:00.000000000 Z
11
+ date: 2020-06-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler