fedux_org-stdlib 0.0.30 → 0.0.31

Sign up to get free protection for your applications and to get access to all the features.
data/RELEASE_NOTES.md CHANGED
@@ -1,3 +1,6 @@
1
+ Version 0.0.31
2
+ * Support for full paths in `which` added
3
+
1
4
  Version 0.0.23
2
5
  * + Add logic converters which can be used in puppet functions
3
6
  * + Documentation
data/doc/commands.md ADDED
@@ -0,0 +1,20 @@
1
+ # FeduxOrg::Stdlib::Command
2
+
3
+ ## Usage
4
+
5
+ ### which
6
+
7
+ Searches command in PATH. It supports the usage of a full path as well.
8
+
9
+ ```ruby
10
+ require 'fedux_org/stdlib/command'
11
+
12
+ class XY
13
+ include Command
14
+
15
+ def method
16
+ cmd_path = which( 'echo' )
17
+ cmd_path = which( '/usr/bin/echo' )
18
+ end
19
+ end
20
+ ```
@@ -53,13 +53,15 @@ module FeduxOrg
53
53
 
54
54
  # Search for command
55
55
  # @param [String] cmd
56
- # name of command
56
+ # name of command or path to command (will be reduced to basename and then searched in PATH)
57
57
  #
58
58
  # @return [String]
59
59
  # path to command
60
60
  def which(cmd)
61
61
  return nil if cmd.blank?
62
62
 
63
+ cmd = File.basename( cmd )
64
+
63
65
  exts = ENV['PATHEXT'] ? ENV['PATHEXT'].split(';') : ['']
64
66
  ENV['PATH'].split(File::PATH_SEPARATOR).each do |path|
65
67
  exts.each do |ext|
@@ -1,6 +1,6 @@
1
1
  #main FeduxOrg
2
2
  module FeduxOrg
3
3
  module Stdlib
4
- VERSION = '0.0.30'
4
+ VERSION = '0.0.31'
5
5
  end
6
6
  end
data/spec/command_spec.rb CHANGED
@@ -33,5 +33,9 @@ describe Command do
33
33
  it 'returns full path for a valid command' do
34
34
  expect( klass.new.which( 'which' ) ).to eq( '/usr/bin/which' )
35
35
  end
36
+
37
+ it 'returns full path for a valid command although a full path is given' do
38
+ expect( klass.new.which( '/usr/bin/which' ) ).to eq( '/usr/bin/which' )
39
+ end
36
40
  end
37
41
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fedux_org-stdlib
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.30
4
+ version: 0.0.31
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-11-04 00:00:00.000000000 Z
12
+ date: 2013-11-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -77,6 +77,7 @@ files:
77
77
  - RELEASE_NOTES.md
78
78
  - Rakefile
79
79
  - doc/colors.md
80
+ - doc/commands.md
80
81
  - doc/logic_converters.md
81
82
  - doc/models.md
82
83
  - fedux_org-stdlib.gemspec