pipewrench 0.2.0 → 0.3.0
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.
- checksums.yaml +4 -4
- data/.travis.yml +2 -0
- data/README.md +22 -3
- data/exe/pipewrench +2 -1
- data/lib/pipewrench.rb +5 -0
- data/lib/pipewrench/options.rb +6 -2
- data/lib/pipewrench/version.rb +1 -1
- data/pipewrench.gemspec +2 -0
- metadata +27 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b31d5164c641272857104b8e3057ae0f2edf6142
|
4
|
+
data.tar.gz: 4602d1707a505175f73eae973516728e11a68fc5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fb67171c76d145e4bd64fcf35fadca91fb9637e9bb76fa1ff6c0c9c74d06fa0668e4c3c8422e2047e635c542d243751318aeb2a61f6402ed48694fecd68a9a58
|
7
|
+
data.tar.gz: 57040bd2b2a3cd04fc21aeea6871519ad6933b2f9c42e8455cb62f8c400cf268e066feb525105295f613d2b89f9cfbf62e5f9552dfd429617626c43d1e9d89c0
|
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
# Pipewrench
|
2
2
|
|
3
|
+
[](https://badge.fury.io/rb/pipewrench)
|
4
|
+
[](https://travis-ci.org/sionide21/pipewrench)
|
5
|
+
|
3
6
|
General purpose command line pipe processing tool.
|
4
7
|
|
5
8
|
## Installation
|
@@ -9,15 +12,16 @@ General purpose command line pipe processing tool.
|
|
9
12
|
## Usage
|
10
13
|
|
11
14
|
```
|
12
|
-
Usage: pipewrench [options] expression
|
15
|
+
Usage: pipewrench [options] expression [file ...]
|
13
16
|
-c, --compact Remove nil lines from output
|
14
17
|
-m, --map Run each line through the expression
|
18
|
+
-r, --rails Load Active Support Core Extensions
|
15
19
|
-s, --strip Strip trailing whitespace from each line before running
|
16
20
|
-h, --help Show this message
|
17
21
|
--version Show version
|
18
22
|
```
|
19
23
|
|
20
|
-
Pipewrench evaluates the given expression against standard input.
|
24
|
+
Pipewrench evaluates the given expression against the specified files (or standard input if no files are given).
|
21
25
|
This allows you to write powerful ruby expressions as part of your pipeline.
|
22
26
|
|
23
27
|
Here are some examples:
|
@@ -32,6 +36,11 @@ $ echo "My Cat" >> pipewrench.txt
|
|
32
36
|
$ echo "His Dog" >> pipewrench.txt
|
33
37
|
$ echo "Her Fish" >> pipewrench.txt
|
34
38
|
$ echo "My Frog" >> pipewrench.txt
|
39
|
+
$ pipewrench 'grep(/^My (\w+)/) {$1}' pipewrench.txt
|
40
|
+
Cat
|
41
|
+
Frog
|
42
|
+
|
43
|
+
# Or, from standard in
|
35
44
|
$ cat pipewrench.txt | pipewrench 'grep(/^My (\w+)/) {$1}'
|
36
45
|
Cat
|
37
46
|
Frog
|
@@ -43,7 +52,7 @@ Evaluate the expression for each line of input.
|
|
43
52
|
|
44
53
|
```
|
45
54
|
# Convert input to upper case
|
46
|
-
$
|
55
|
+
$ pipewrench -m upcase pipewrench.txt
|
47
56
|
MY CAT
|
48
57
|
HIS DOG
|
49
58
|
HER FISH
|
@@ -63,6 +72,16 @@ $ seq 1 10 | pipewrench -c -m 'self if to_i < 5'
|
|
63
72
|
4
|
64
73
|
```
|
65
74
|
|
75
|
+
### -r, --rails
|
76
|
+
|
77
|
+
Load [Active Support Core Extensions](http://guides.rubyonrails.org/active_support_core_extensions.html). This gives you access to rails helper methods.
|
78
|
+
|
79
|
+
```
|
80
|
+
# Convert numbers to human readable sizes
|
81
|
+
$ echo 100000000 | pipewrench -mr 'to_i.to_s(:human_size)'
|
82
|
+
95.4 MB
|
83
|
+
```
|
84
|
+
|
66
85
|
### -s, --strip
|
67
86
|
|
68
87
|
Remove trailing whitespace from each line before evaluating the expression.
|
data/exe/pipewrench
CHANGED
data/lib/pipewrench.rb
CHANGED
data/lib/pipewrench/options.rb
CHANGED
@@ -3,7 +3,7 @@ require "pipewrench/version"
|
|
3
3
|
|
4
4
|
class Pipewrench
|
5
5
|
class Options
|
6
|
-
attr_reader :map, :strip, :compact
|
6
|
+
attr_reader :map, :strip, :compact, :rails
|
7
7
|
|
8
8
|
def parse!(*args)
|
9
9
|
parser.parse!(*args)
|
@@ -26,7 +26,7 @@ class Pipewrench
|
|
26
26
|
|
27
27
|
def parser
|
28
28
|
@parser ||= OptionParser.new do |opts|
|
29
|
-
opts.banner = "Usage: pipewrench [options] expression"
|
29
|
+
opts.banner = "Usage: pipewrench [options] expression [file ...]"
|
30
30
|
|
31
31
|
opts.on("-c", "--compact", "Remove nil lines from output") do |m|
|
32
32
|
@compact = true
|
@@ -36,6 +36,10 @@ class Pipewrench
|
|
36
36
|
@map = true
|
37
37
|
end
|
38
38
|
|
39
|
+
opts.on("-r", "--rails", "Load Active Support Core Extensions") do |m|
|
40
|
+
@rails = true
|
41
|
+
end
|
42
|
+
|
39
43
|
opts.on("-s", "--strip", "Strip trailing whitespace from each line before running") do |m|
|
40
44
|
@strip = true
|
41
45
|
end
|
data/lib/pipewrench/version.rb
CHANGED
data/pipewrench.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pipewrench
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Olive
|
@@ -14,42 +14,56 @@ dependencies:
|
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.10'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.10'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '10.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '10.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: activesupport
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
53
67
|
- !ruby/object:Gem::Version
|
54
68
|
version: '0'
|
55
69
|
description:
|
@@ -60,9 +74,9 @@ executables:
|
|
60
74
|
extensions: []
|
61
75
|
extra_rdoc_files: []
|
62
76
|
files:
|
63
|
-
- .gitignore
|
64
|
-
- .rspec
|
65
|
-
- .travis.yml
|
77
|
+
- ".gitignore"
|
78
|
+
- ".rspec"
|
79
|
+
- ".travis.yml"
|
66
80
|
- Gemfile
|
67
81
|
- README.md
|
68
82
|
- Rakefile
|
@@ -82,17 +96,17 @@ require_paths:
|
|
82
96
|
- lib
|
83
97
|
required_ruby_version: !ruby/object:Gem::Requirement
|
84
98
|
requirements:
|
85
|
-
- -
|
99
|
+
- - ">="
|
86
100
|
- !ruby/object:Gem::Version
|
87
101
|
version: '0'
|
88
102
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
89
103
|
requirements:
|
90
|
-
- -
|
104
|
+
- - ">="
|
91
105
|
- !ruby/object:Gem::Version
|
92
106
|
version: '0'
|
93
107
|
requirements: []
|
94
108
|
rubyforge_project:
|
95
|
-
rubygems_version: 2.
|
109
|
+
rubygems_version: 2.4.3
|
96
110
|
signing_key:
|
97
111
|
specification_version: 4
|
98
112
|
summary: General purpose command line pipe processing tool.
|