rexe 0.6.0 → 0.6.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +12 -0
  3. data/README.md +10 -9
  4. data/exe/rexe +15 -9
  5. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b24d04f1de2c1db6d70d9d49f01f1ad5ff1451322e708a81a1126cebaa4857ae
4
- data.tar.gz: 6a4012b73000d9cde679ca2a83fccd3be39dcdbbe528aba59aaccdb6e81161bc
3
+ metadata.gz: 7a941b8dc64640ce710ebf30d3f42ed087738b0fa568b57e9009aa0eb4949f36
4
+ data.tar.gz: b8f905cd6f2eace78eb3b17a1bb5a3d90b1223416608049f68e014d69ed4ab07
5
5
  SHA512:
6
- metadata.gz: ac45230cca67ffb89b7fef9135e7e8b3f33347c525e8f9cd71ff99c066d736476bf914826fe9e9374e7048f676d92d47cbbb76f247cbb573c525b871117fb845
7
- data.tar.gz: 24dca459efcb4e68c1553ebec376ef89c050dda5de353458a46d920012a86ea27f4bde2ea146eda4b9bede9d6dc669f8916ca058abc62efae3f9fbcea7c1fa2f
6
+ metadata.gz: f5d7379fade7a80ac2659d7ea6da584e2f28366552cb94e95f31fc4c692a6ac0524a72838aa80608854ebc1f3619b4a04976c45de409a5f8a2cf9abec9495958
7
+ data.tar.gz: '09a15996ad72e8c72c997ee24495727affcc519f09d695dcea6ae73797decf5891681de5820206d77999154b1824911c117cedab617b1ce3c569ce5209329321'
data/CHANGELOG.md CHANGED
@@ -1,6 +1,18 @@
1
1
  ## rexe -- Ruby Command Line Executor
2
2
 
3
3
 
4
+ ### v0.6.1
5
+
6
+ * Improve handling of nonexistent load files (-l, -u options).
7
+
8
+
9
+ ### v0.6.0
10
+
11
+ * Change default input mode from :string to :no_input.
12
+ * Improve readme.
13
+ * Add post install message warning about change of default input mode.
14
+
15
+
4
16
  ### v0.5.0
5
17
 
6
18
  * Add '!' to require and load command options to clear respective file lists.
data/README.md CHANGED
@@ -19,34 +19,35 @@ chmod +x rexe
19
19
 
20
20
  ## Usage
21
21
 
22
- rexe is a _filter_ in that it can consume standard input and emit standard output; but it is also an _executor_, meaning it can be used without either standard input or output.
22
+ rexe is an _executor_, meaning it can execute Ruby without either standard input or output,
23
+ but it is also a _filter_ in that it can implicitly consume standard input and emit standard output.
23
24
 
24
25
  ### Help Text
25
26
 
26
27
  As a summary, here is the help text printed out by the application:
27
28
 
28
29
  ```
29
- rexe -- Ruby Command Line Filter/Executor -- v0.6.0 -- https://github.com/keithrbennett/rexe
30
+ rexe -- Ruby Command Line Filter/Executor -- v0.6.1 -- https://github.com/keithrbennett/rexe
30
31
 
31
32
  Executes Ruby code on the command line, optionally taking standard input and writing to standard output.
32
33
 
33
34
  Options:
34
35
 
35
- -h, --help Print help and exit
36
- -l, --load RUBY_FILE(S) Ruby file(s) to load, comma separated, or ! to clear
37
- -u, --load-up RUBY_FILE(S) Ruby file(s) to load, searching up tree, comma separated, or ! to clear
38
- -m, --mode MODE Mode with which to handle input (i.e. what `self` will be in the code):
36
+ -h, --help Print help and exit
37
+ -l, --load RUBY_FILE(S) Ruby file(s) to load, comma separated, or ! to clear
38
+ -u, --load-up RUBY_FILE(S) Ruby file(s) to load, searching up tree, comma separated, or ! to clear
39
+ -m, --mode MODE Mode with which to handle input (i.e. what `self` will be in the code):
39
40
  -ms for each line to be handled separately as a string
40
41
  -me for an enumerator of lines (least memory consumption for big data)
41
42
  -mb for 1 big string (all lines combined into single multiline string)
42
43
  -mn to execute the specified Ruby code on no input at all (default)
43
- -r, --require REQUIRES Gems and built-in libraries to require, comma separated, or ! to clear
44
- -v, --[no-]verbose Verbose mode (logs to stderr) Verbose off short options: -v n, -v false
44
+ -r, --require REQUIRES Gems and built-in libraries to require, comma separated, or ! to clear
45
+ -v, --[no-]verbose verbose mode (logs to stderr); to disable, short options: -v n, -v false
45
46
 
46
47
  If there is an .rexerc file in your home directory, it will be run as Ruby code
47
48
  before processing the input.
48
49
 
49
- If there is an REXE_OPTIONS environment variable, its content will be prepended to the command line
50
+ If there is a REXE_OPTIONS environment variable, its content will be prepended to the command line
50
51
  so that you can specify options implicitly (e.g. `export REXE_OPTIONS="-r awesome_print,yaml"`)
51
52
  ```
52
53
 
data/exe/rexe CHANGED
@@ -9,7 +9,7 @@ require 'shellwords'
9
9
 
10
10
  class Rexe < Struct.new(:input_mode, :loads, :requires, :verbose)
11
11
 
12
- VERSION = '0.6.0'
12
+ VERSION = '0.6.1'
13
13
 
14
14
  def initialize
15
15
  self.input_mode = :no_input
@@ -28,16 +28,16 @@ class Rexe < Struct.new(:input_mode, :loads, :requires, :verbose)
28
28
 
29
29
  Options:
30
30
 
31
- -h, --help Print help and exit
32
- -l, --load RUBY_FILE(S) Ruby file(s) to load, comma separated, or ! to clear
33
- -u, --load-up RUBY_FILE(S) Ruby file(s) to load, searching up tree, comma separated, or ! to clear
34
- -m, --mode MODE Mode with which to handle input (i.e. what `self` will be in the code):
31
+ -h, --help Print help and exit
32
+ -l, --load RUBY_FILE(S) Ruby file(s) to load, comma separated, or ! to clear
33
+ -u, --load-up RUBY_FILE(S) Ruby file(s) to load, searching up tree, comma separated, or ! to clear
34
+ -m, --mode MODE Mode with which to handle input (i.e. what `self` will be in the code):
35
35
  -ms for each line to be handled separately as a string
36
36
  -me for an enumerator of lines (least memory consumption for big data)
37
37
  -mb for 1 big string (all lines combined into single multiline string)
38
38
  -mn to execute the specified Ruby code on no input at all (default)
39
- -r, --require REQUIRES Gems and built-in libraries to require, comma separated, or ! to clear
40
- -v, --[no-]verbose Verbose mode (logs to stderr) Verbose off short options: -v n, -v false
39
+ -r, --require REQUIRES Gems and built-in libraries to require, comma separated, or ! to clear
40
+ -v, --[no-]verbose verbose mode (logs to stderr); to disable, short options: -v n, -v false
41
41
 
42
42
  If there is an .rexerc file in your home directory, it will be run as Ruby code
43
43
  before processing the input.
@@ -59,6 +59,7 @@ class Rexe < Struct.new(:input_mode, :loads, :requires, :verbose)
59
59
 
60
60
 
61
61
  def parse_command_line
62
+
62
63
  prepend_environment_options
63
64
 
64
65
  OptionParser.new do |parser|
@@ -72,7 +73,12 @@ class Rexe < Struct.new(:input_mode, :loads, :requires, :verbose)
72
73
  if v == '!'
73
74
  self.loads.clear
74
75
  else
75
- v.split(',').map(&:strip).each { |r| self.loads << r }
76
+ loadfiles = v.split(',').map(&:strip)
77
+ existent, nonexistent = loadfiles.partition { |filespec| File.exists?(filespec) }
78
+ if nonexistent.any?
79
+ log_if_verbose("\nDid not find the following files to load: #{nonexistent.to_s}\n\n")
80
+ end
81
+ existent.each { |filespec| self.loads << filespec }
76
82
  end
77
83
  end
78
84
 
@@ -86,7 +92,7 @@ class Rexe < Struct.new(:input_mode, :loads, :requires, :verbose)
86
92
  if found_file
87
93
  self.loads << found_file
88
94
  else
89
- log_if_verbose("Did not find load file #{filespec} in this directory or higher.")
95
+ log_if_verbose("\nDid not find load file '#{filespec}' in this directory or higher.\n\n")
90
96
  end
91
97
  end
92
98
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rexe
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Keith Bennett
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-02-21 00:00:00.000000000 Z
11
+ date: 2019-02-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler