rubyc 0.0.13 → 0.0.14
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.
- data/bin/rubyc +14 -14
- data/lib/rubyc/version.rb +1 -1
- metadata +3 -3
data/bin/rubyc
CHANGED
@@ -32,11 +32,11 @@ module ::Enumerable
|
|
32
32
|
end
|
33
33
|
|
34
34
|
class Rubyc < Thor
|
35
|
-
|
35
|
+
$stdout.sync = true
|
36
36
|
desc :map, "Apply Enumerable#map on each line"
|
37
37
|
def map(code)
|
38
38
|
proc = eval( "Proc.new{|line| l = line; #{code}}" )
|
39
|
-
|
39
|
+
$stdin.each do |line|
|
40
40
|
puts proc.call(line.chomp).to_s
|
41
41
|
end
|
42
42
|
end
|
@@ -45,7 +45,7 @@ class Rubyc < Thor
|
|
45
45
|
def sum(code = nil)
|
46
46
|
code ||= "line"
|
47
47
|
proc = eval("Proc.new{|line| l = line; #{code}}")
|
48
|
-
sum =
|
48
|
+
sum = $stdin.sum do |line|
|
49
49
|
proc.call(line.chomp).to_f
|
50
50
|
end
|
51
51
|
puts sum
|
@@ -53,8 +53,8 @@ class Rubyc < Thor
|
|
53
53
|
|
54
54
|
desc :select, "Apply Enumerable#select on each line"
|
55
55
|
def select(code)
|
56
|
-
proc = eval(
|
57
|
-
|
56
|
+
proc = eval("Proc.new{|line| l = line; #{code}}")
|
57
|
+
$stdin.each do |line|
|
58
58
|
puts line if proc.call(line.chomp)
|
59
59
|
end
|
60
60
|
end
|
@@ -62,8 +62,8 @@ class Rubyc < Thor
|
|
62
62
|
desc :count_by, "Count the number of lines that have the same property. The property is defined by the return value of the given the block"
|
63
63
|
def count_by(code = nil)
|
64
64
|
code ||= "line"
|
65
|
-
proc = eval(
|
66
|
-
counts =
|
65
|
+
proc = eval("Proc.new{|line| l = line; #{code}}")
|
66
|
+
counts = $stdin.count_by do |line|
|
67
67
|
proc.call(line.chomp)
|
68
68
|
end
|
69
69
|
puts counts.to_yaml
|
@@ -72,8 +72,8 @@ class Rubyc < Thor
|
|
72
72
|
desc :sort_by, "Sort by"
|
73
73
|
def sort_by(code = nil)
|
74
74
|
code ||= "line"
|
75
|
-
proc = eval(
|
76
|
-
counts =
|
75
|
+
proc = eval("Proc.new{|line| l = line; #{code}}")
|
76
|
+
counts = $stdin.sort_by do |line|
|
77
77
|
proc.call(line.chomp)
|
78
78
|
end
|
79
79
|
puts counts
|
@@ -82,15 +82,15 @@ class Rubyc < Thor
|
|
82
82
|
desc :grep, "Grep"
|
83
83
|
def grep(pattern, code = nil)
|
84
84
|
pattern = eval(pattern)
|
85
|
-
proc = code ? eval(
|
86
|
-
puts
|
85
|
+
proc = code ? eval("Proc.new{|line| l = line; #{code}}") : nil
|
86
|
+
puts $stdin.grep(pattern, &proc)
|
87
87
|
end
|
88
88
|
|
89
89
|
desc :scan, "Scan"
|
90
90
|
def scan(pattern, code = nil)
|
91
91
|
pattern = eval(pattern)
|
92
|
-
proc = code ? eval(
|
93
|
-
str =
|
92
|
+
proc = code ? eval("Proc.new{|*match| m = match; #{code}}") : nil
|
93
|
+
str = $stdin.read
|
94
94
|
str.scan(pattern, &proc)
|
95
95
|
end
|
96
96
|
|
@@ -106,7 +106,7 @@ class Rubyc < Thor
|
|
106
106
|
|
107
107
|
desc :merge, "Merge consecutive lines"
|
108
108
|
def merge(nb_lines, sep = ",")
|
109
|
-
STDIN.each_slice(nb_lines.to_i){|chunk| puts chunk.map{|elem| elem.strip}.join(sep)
|
109
|
+
STDIN.each_slice(nb_lines.to_i){|chunk| puts chunk.map{|elem| elem.strip}.join(sep)}
|
110
110
|
end
|
111
111
|
end
|
112
112
|
|
data/lib/rubyc/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubyc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 3
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 14
|
10
|
+
version: 0.0.14
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Martin Chabot
|