ix-cli 0.0.4 → 0.0.10

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 15f8772d153342e10644bf937e7c51a0d56871cec2e1bdfeff7c7e35180bb171
4
- data.tar.gz: 2e1c119cbd9bdd142391d208ae805d753b1878fad963b09cb1f1c99e9b1bae6e
3
+ metadata.gz: 9356248fcc4f5fe5c83fedeb01e13166a9764bed70c39fe06132963141f394d9
4
+ data.tar.gz: c7676df3c6b0e8427888882bc02fa609e6aa987816f76ef90e656ca6ce196ed7
5
5
  SHA512:
6
- metadata.gz: 1cad8247e42f9a05f021b253a26301799fe7cbd38a9e904b263f6a2f9875f714737b2a60e6d0f4ff40b3b9eaaa6190d197bb0e3aa57506c647d061b7ff60750c
7
- data.tar.gz: 9ea79a8c6fdf2031b0a163ac600569aa964205eb8d62692118ac76fee9df903d853f5c0a814eeed5cde25b54707bf69b0c90c12a1b45a25b8faba207423c7dea
6
+ metadata.gz: 21233826e4b716857231aa89c0abc3263702cf0347b71a2bfc40e3502b79946b98a7b3ae5496bf1975121ef1f3c44952bedd0415d817ac7eee34246ec91007b6
7
+ data.tar.gz: fbee1010c9fda5caf7144b8855c6ff8f502413ba3dbee2b81c630340d6c429299878b9b20cc34bc6d9fe2912e3b5e4cee44159f0b31fc947d0467957f7cf6802
@@ -175,10 +175,42 @@ class Bcat
175
175
  end
176
176
  end
177
177
 
178
+ require 'optparse'
179
+
180
+ options = {}
181
+
182
+ OptionParser.new do |opts|
183
+
184
+ opts.banner = "Usage: #{$0} [OPTIONS]"
185
+
186
+ opts.on('-p', '--pre', 'Pre.') do |value|
187
+ options[:pre] = value
188
+ end
189
+
190
+
191
+ end.parse!
192
+
193
+ required_options = []
194
+ required_options.each do |option|
195
+ unless options[option]
196
+ $stderr.puts "Can not run #{option.to_s} was not given."
197
+ exit 1
198
+ end
199
+ end
200
+
178
201
  data = []
179
202
 
180
203
  STDIN.each_line do |line|
181
204
  data.push(line)
182
205
  end
183
206
 
207
+ if options[:pre]
208
+ puts '<pre>'
209
+ end
210
+
184
211
  puts Bcat::ANSI.new(data).to_html
212
+
213
+ if options[:pre]
214
+ puts '</pre>'
215
+ end
216
+
data/bin/ix-cat CHANGED
@@ -1,7 +1,7 @@
1
- #!/usr/bin/env bash
1
+ #!/usr/bin/env ruby
2
2
 
3
- application=$1
4
- target_path=`dirname $0`
5
- target_file="$target_path/ix-$application"
3
+ application = ARGV[0]
4
+ target_path = File.dirname(__FILE__)
5
+ target_file = "#{target_path}/ix-#{application}"
6
6
 
7
- cat $target_file
7
+ system "cat #{target_file}"
@@ -0,0 +1,88 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'json'
4
+ require 'optparse'
5
+ require 'isna'
6
+
7
+ options = {}
8
+ options[:count] = 10
9
+ options[:errors] = false
10
+
11
+ OptionParser.new do |opts|
12
+
13
+ opts.banner = "Usage: #{$0} [OPTIONS]"
14
+
15
+ opts.on('-k', '--keys [KEYS]', 'List of keys to parse from json separated by :.') do |value|
16
+ options[:keys] = value
17
+ end
18
+
19
+ opts.on('-c', '--count [NUMBER]', 'Number of top N items to show.') do |value|
20
+ options[:count] = value.to_i
21
+ end
22
+
23
+ opts.on('-e', '--errors', 'If we should report errors.') do |value|
24
+ options[:errors] = value
25
+ end
26
+
27
+ end.parse!
28
+
29
+ required_options = [:keys]
30
+ required_options.each do |option|
31
+ unless options[option]
32
+ $stderr.puts "Can not run #{option.to_s} was not given."
33
+ exit 1
34
+ end
35
+ end
36
+
37
+ map = {}
38
+ keys = options[:keys].split(':')
39
+
40
+ STDIN.each_line do |line|
41
+ begin
42
+ object = JSON.parse(line)
43
+ object.each do |k, v|
44
+ next unless keys.include?(k)
45
+ submap = map[k] ||= {}
46
+ submap[v] ||= 0
47
+ submap[v] += 1
48
+ end
49
+ rescue => error
50
+ if options[:errors]
51
+ $stderr.puts error.message
52
+ end
53
+ end
54
+ end
55
+
56
+ def print_map(map, sample)
57
+ map.each do |category, stats|
58
+ values = []
59
+ total = 0
60
+
61
+ counter = 0
62
+ stats.values.sort.reverse.each do |value_1|
63
+ stats.each do |key, value_2|
64
+ if value_1 == value_2
65
+ counter += 1
66
+ break if counter > sample
67
+ total += value_1
68
+ values.push({ :value => value_1, :key => key })
69
+ end
70
+ end
71
+ end
72
+
73
+ puts ""
74
+ puts "#{category.to_s.to_ansi.cyan.to_s} (#{total})"
75
+
76
+ values.each do |object|
77
+ percentage = "%2.2f" % (object[:value] / total.to_f * 100)
78
+ h_percentage = (percentage.to_s + '%').rjust(6, ' ').to_ansi.yellow.to_s
79
+ value = object[:value].to_s.rjust(10, ' ').to_ansi.green.to_s
80
+ key = object[:key]
81
+ puts "%s %s %s" % [value, h_percentage, key]
82
+ end
83
+
84
+ end
85
+ end
86
+
87
+ print_map(map, options[:count])
88
+
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ print ARGV[0]
4
+
5
+ STDIN.each_line do |line|
6
+ puts line.chomp
7
+ end
8
+
@@ -3,7 +3,12 @@
3
3
  normal = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
4
4
  rot13 = "nopqrstuvwxyzabcdefghijklmNOPQRSTUVWXYZABCDEFGHIJKLM"
5
5
 
6
- STDIN.each_line do |line|
7
- puts line.tr!(normal, rot13)
6
+ STDIN.each_char do |char|
7
+ candidate = char.tr!(normal, rot13)
8
+ if candidate
9
+ print candidate
10
+ else
11
+ print char
12
+ end
8
13
  end
9
14
 
@@ -0,0 +1,39 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'isna'
4
+
5
+ UNIVERSE = (0..9).to_a
6
+ ROT = 5
7
+ DIGIT_REGEX = /^\d$/
8
+
9
+ def resolve(set, candidate)
10
+ needle = set.index(candidate)
11
+ if (needle + ROT) > set.size
12
+ return (needle - set.size + ROT)
13
+ end
14
+ if (needle + ROT) < set.size
15
+ return needle + ROT
16
+ end
17
+ if (needle == 5)
18
+ return 0
19
+ end
20
+ end
21
+
22
+ STDIN.each_char do |char|
23
+ next if char.chomp == ''
24
+ unless char =~ DIGIT_REGEX
25
+ print char
26
+ next
27
+ end
28
+ rotation = resolve(UNIVERSE, char.to_i)
29
+ m = (0..9).to_a.map do |n|
30
+ if n.to_s == char
31
+ char.to_ansi.green.to_s
32
+ else
33
+ n.to_s
34
+ end
35
+ end
36
+ # puts "#{rotation.to_s.to_ansi.red.to_s} = [" + (m * ', ') + "]"
37
+ print rotation
38
+ end
39
+
data/bin/ix-rps CHANGED
@@ -10,7 +10,6 @@ end
10
10
  trap('QUIT', &shutdown)
11
11
  trap('INT', &shutdown)
12
12
  trap('TERM', &shutdown)
13
- trap('KILL', &shutdown)
14
13
 
15
14
  total_requests = 0
16
15
  requests_per_second = 0
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  class Token
4
- REGEX = /(^)(\d+)(\s+)(\w+)(\s+)(.*)/
4
+ REGEX = /(^)([^ ]+)(\s+)(\w+)(\s+)(.*)/
5
5
  attr_accessor :column
6
6
  def initialize(string)
7
7
  @string = string
metadata CHANGED
@@ -1,11 +1,11 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ix-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kazuyoshi Tlacaelel
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
  date: 2020-02-05 00:00:00.000000000 Z
@@ -24,8 +24,8 @@ dependencies:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.0.4
27
- description:
28
- email:
27
+ description:
28
+ email:
29
29
  executables:
30
30
  - ix
31
31
  - ix-acronym
@@ -143,6 +143,7 @@ executables:
143
143
  - ix-json-paths-pretty
144
144
  - ix-json-pp
145
145
  - ix-json-query
146
+ - ix-json-stats
146
147
  - ix-json-records-to-array
147
148
  - ix-json-remove-key
148
149
  - ix-json-replace-values
@@ -198,6 +199,7 @@ executables:
198
199
  - ix-pick
199
200
  - ix-planning-tickets
200
201
  - ix-prefix
202
+ - ix-prepend
201
203
  - ix-pretty
202
204
  - ix-print-and-run
203
205
  - ix-psd-to-json
@@ -216,6 +218,7 @@ executables:
216
218
  - ix-reverse
217
219
  - ix-right
218
220
  - ix-rm
221
+ - ix-rot5
219
222
  - ix-rot13
220
223
  - ix-rot3
221
224
  - ix-rps
@@ -423,6 +426,7 @@ files:
423
426
  - bin/ix-json-records-to-array
424
427
  - bin/ix-json-remove-key
425
428
  - bin/ix-json-replace-values
429
+ - bin/ix-json-stats
426
430
  - bin/ix-json-template
427
431
  - bin/ix-json-to-csv
428
432
  - bin/ix-json-to-dot
@@ -475,6 +479,7 @@ files:
475
479
  - bin/ix-pick
476
480
  - bin/ix-planning-tickets
477
481
  - bin/ix-prefix
482
+ - bin/ix-prepend
478
483
  - bin/ix-pretty
479
484
  - bin/ix-print-and-run
480
485
  - bin/ix-psd-to-json
@@ -495,6 +500,7 @@ files:
495
500
  - bin/ix-rm
496
501
  - bin/ix-rot13
497
502
  - bin/ix-rot3
503
+ - bin/ix-rot5
498
504
  - bin/ix-rps
499
505
  - bin/ix-ruby-constructor-arguments
500
506
  - bin/ix-ruby-methods
@@ -576,10 +582,10 @@ files:
576
582
  - bin/ix-wrap
577
583
  - bin/ix-xy
578
584
  - bin/ix-zebra
579
- homepage:
585
+ homepage:
580
586
  licenses: []
581
587
  metadata: {}
582
- post_install_message:
588
+ post_install_message:
583
589
  rdoc_options: []
584
590
  require_paths:
585
591
  - lib
@@ -594,8 +600,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
594
600
  - !ruby/object:Gem::Version
595
601
  version: '0'
596
602
  requirements: []
597
- rubygems_version: 3.0.6
598
- signing_key:
603
+ rubygems_version: 3.1.2
604
+ signing_key:
599
605
  specification_version: 4
600
606
  summary: ix - string manipulation tools
601
607
  test_files: []