ix-cli 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile +3 -0
- data/VERSION +1 -0
- data/bin/ix +14 -0
- data/bin/ix-acronym +21 -0
- data/bin/ix-add +8 -0
- data/bin/ix-append +8 -0
- data/bin/ix-arguments +12 -0
- data/bin/ix-array +17 -0
- data/bin/ix-ascii +3 -0
- data/bin/ix-avg +18 -0
- data/bin/ix-aws-pass +17 -0
- data/bin/ix-banner +2 -0
- data/bin/ix-base +24 -0
- data/bin/ix-base64-to-image +6 -0
- data/bin/ix-basename +8 -0
- data/bin/ix-bash-to-md +17 -0
- data/bin/ix-bcat +184 -0
- data/bin/ix-bellgrep +17 -0
- data/bin/ix-bench +9 -0
- data/bin/ix-binary-to-text +8 -0
- data/bin/ix-blackbox +45 -0
- data/bin/ix-blackbox-html-table +86 -0
- data/bin/ix-blamer +23 -0
- data/bin/ix-box +35 -0
- data/bin/ix-box2 +3 -0
- data/bin/ix-box3 +3 -0
- data/bin/ix-camel +17 -0
- data/bin/ix-cat +7 -0
- data/bin/ix-catafter +18 -0
- data/bin/ix-catan +6 -0
- data/bin/ix-chain +13 -0
- data/bin/ix-chars +4 -0
- data/bin/ix-checklist +23 -0
- data/bin/ix-child-math +10 -0
- data/bin/ix-chomp +6 -0
- data/bin/ix-chr +6 -0
- data/bin/ix-class +5 -0
- data/bin/ix-columns +41 -0
- data/bin/ix-combinations +11 -0
- data/bin/ix-command-class +21 -0
- data/bin/ix-commandify +22 -0
- data/bin/ix-commit +9 -0
- data/bin/ix-confirm +47 -0
- data/bin/ix-constants +9 -0
- data/bin/ix-cp +10 -0
- data/bin/ix-crack +163 -0
- data/bin/ix-crap +26 -0
- data/bin/ix-crazy-case +9 -0
- data/bin/ix-create-cluster-nodes +15 -0
- data/bin/ix-csv-to-json +16 -0
- data/bin/ix-day +12 -0
- data/bin/ix-debugging +33 -0
- data/bin/ix-decode-base64 +8 -0
- data/bin/ix-dequote +3 -0
- data/bin/ix-df +15 -0
- data/bin/ix-diagram +47 -0
- data/bin/ix-dirname +5 -0
- data/bin/ix-divide +8 -0
- data/bin/ix-done +11 -0
- data/bin/ix-dot-case +15 -0
- data/bin/ix-downcase +5 -0
- data/bin/ix-dto +39 -0
- data/bin/ix-each +7 -0
- data/bin/ix-edit +21 -0
- data/bin/ix-emails +10 -0
- data/bin/ix-escape +8 -0
- data/bin/ix-extensions +3 -0
- data/bin/ix-file-exists +11 -0
- data/bin/ix-filename +7 -0
- data/bin/ix-files +9 -0
- data/bin/ix-first +6 -0
- data/bin/ix-fish-diagram +47 -0
- data/bin/ix-flip-flop +20 -0
- data/bin/ix-flow +22 -0
- data/bin/ix-format-ruby-hash +61 -0
- data/bin/ix-gauge +86 -0
- data/bin/ix-get-colors +520 -0
- data/bin/ix-gift-exchange +52 -0
- data/bin/ix-glitter +29 -0
- data/bin/ix-grep-join +4 -0
- data/bin/ix-group +21 -0
- data/bin/ix-groups +15 -0
- data/bin/ix-gsub +5 -0
- data/bin/ix-gzip-dir +33 -0
- data/bin/ix-hash +10 -0
- data/bin/ix-hashtag +12 -0
- data/bin/ix-hex2rgb +5 -0
- data/bin/ix-histogram +80 -0
- data/bin/ix-hls +21 -0
- data/bin/ix-html +3 -0
- data/bin/ix-human-time +3 -0
- data/bin/ix-hyphen +9 -0
- data/bin/ix-hypothesis +546 -0
- data/bin/ix-ids +10 -0
- data/bin/ix-image-generate +3 -0
- data/bin/ix-image-to-base64 +9 -0
- data/bin/ix-increments +16 -0
- data/bin/ix-indent +42 -0
- data/bin/ix-indent-to-dot +36 -0
- data/bin/ix-int +5 -0
- data/bin/ix-interpolate +5 -0
- data/bin/ix-ips +4 -0
- data/bin/ix-jd +13 -0
- data/bin/ix-join +15 -0
- data/bin/ix-js-classic-functions +9 -0
- data/bin/ix-json-append +17 -0
- data/bin/ix-json-array-to-records +10 -0
- data/bin/ix-json-format +31 -0
- data/bin/ix-json-grep +16 -0
- data/bin/ix-json-interpolate +17 -0
- data/bin/ix-json-key +40 -0
- data/bin/ix-json-key-value +14 -0
- data/bin/ix-json-keys +12 -0
- data/bin/ix-json-merge +11 -0
- data/bin/ix-json-paths +61 -0
- data/bin/ix-json-paths-pretty +2 -0
- data/bin/ix-json-pp +11 -0
- data/bin/ix-json-query +14 -0
- data/bin/ix-json-records-to-array +13 -0
- data/bin/ix-json-remove-key +15 -0
- data/bin/ix-json-replace-values +35 -0
- data/bin/ix-json-template +267 -0
- data/bin/ix-json-to-csv +19 -0
- data/bin/ix-json-to-dot +5 -0
- data/bin/ix-json-to-html-table +84 -0
- data/bin/ix-json-to-ruby-hash +13 -0
- data/bin/ix-json-to-table +21 -0
- data/bin/ix-json-to-table-2 +22 -0
- data/bin/ix-json-to-xml +1 -0
- data/bin/ix-json-values +13 -0
- data/bin/ix-jsonpp +14 -0
- data/bin/ix-lake +6 -0
- data/bin/ix-lemmatize +17 -0
- data/bin/ix-length +6 -0
- data/bin/ix-linkify +35 -0
- data/bin/ix-linkify-html +70 -0
- data/bin/ix-links +3 -0
- data/bin/ix-llp +247 -0
- data/bin/ix-llp-indent +20 -0
- data/bin/ix-llp2 +224 -0
- data/bin/ix-log +44 -0
- data/bin/ix-make-readable +13 -0
- data/bin/ix-man +14 -0
- data/bin/ix-math +6 -0
- data/bin/ix-maze +3 -0
- data/bin/ix-md5 +7 -0
- data/bin/ix-md5s +3 -0
- data/bin/ix-military +39 -0
- data/bin/ix-morse-to-text +76 -0
- data/bin/ix-mr-robot +13 -0
- data/bin/ix-multiply +8 -0
- data/bin/ix-mv +10 -0
- data/bin/ix-ncsa-date-to-timestamp +27 -0
- data/bin/ix-nested-list +23 -0
- data/bin/ix-nnjj +16 -0
- data/bin/ix-noeol +6 -0
- data/bin/ix-noise +7 -0
- data/bin/ix-normalize +69 -0
- data/bin/ix-numbers +4 -0
- data/bin/ix-numerate +16 -0
- data/bin/ix-occurrence +8 -0
- data/bin/ix-open +9 -0
- data/bin/ix-parse +17 -0
- data/bin/ix-pass +17 -0
- data/bin/ix-path +8 -0
- data/bin/ix-path-stats +21 -0
- data/bin/ix-pbcopy +9 -0
- data/bin/ix-pdf +4 -0
- data/bin/ix-percentage +103 -0
- data/bin/ix-permutations +12 -0
- data/bin/ix-pick +4 -0
- data/bin/ix-planning-tickets +27 -0
- data/bin/ix-prefix +7 -0
- data/bin/ix-pretty +3 -0
- data/bin/ix-print-and-run +15 -0
- data/bin/ix-psd-to-json +16 -0
- data/bin/ix-quote +12 -0
- data/bin/ix-rainbow +21 -0
- data/bin/ix-ramp +15 -0
- data/bin/ix-random-hypothesis +10 -0
- data/bin/ix-range +9 -0
- data/bin/ix-remove-colors +519 -0
- data/bin/ix-remove-empty-lines +12 -0
- data/bin/ix-remove-leading-spaces +11 -0
- data/bin/ix-remove-trailing-spaces +11 -0
- data/bin/ix-replace +6 -0
- data/bin/ix-replay +34 -0
- data/bin/ix-retab +13 -0
- data/bin/ix-reverse +5 -0
- data/bin/ix-right +3 -0
- data/bin/ix-rm +8 -0
- data/bin/ix-rot13 +9 -0
- data/bin/ix-rot3 +9 -0
- data/bin/ix-rps +50 -0
- data/bin/ix-ruby-constructor-arguments +7 -0
- data/bin/ix-ruby-methods +40 -0
- data/bin/ix-ruby-options +189 -0
- data/bin/ix-ruby-procs +40 -0
- data/bin/ix-ruby-put-vars +11 -0
- data/bin/ix-ruby-setter-methods +47 -0
- data/bin/ix-ruby-to-json +9 -0
- data/bin/ix-ruler +13 -0
- data/bin/ix-run +105 -0
- data/bin/ix-saldo +25 -0
- data/bin/ix-sat +10 -0
- data/bin/ix-scan +13 -0
- data/bin/ix-scrum +13 -0
- data/bin/ix-scrum-summary +12 -0
- data/bin/ix-sentence +23 -0
- data/bin/ix-sentencify-comments +12 -0
- data/bin/ix-show-tabs +5 -0
- data/bin/ix-show-trailing-spaces +10 -0
- data/bin/ix-shuffle +11 -0
- data/bin/ix-signature +7 -0
- data/bin/ix-size +9 -0
- data/bin/ix-slider +201 -0
- data/bin/ix-snake +25 -0
- data/bin/ix-split +9 -0
- data/bin/ix-stack +42 -0
- data/bin/ix-stack-2 +31 -0
- data/bin/ix-stamp +5 -0
- data/bin/ix-stats +11 -0
- data/bin/ix-stream +15 -0
- data/bin/ix-string-similarity +152 -0
- data/bin/ix-string-similarity2 +35 -0
- data/bin/ix-strip +6 -0
- data/bin/ix-substract +5 -0
- data/bin/ix-success +2 -0
- data/bin/ix-suffix +7 -0
- data/bin/ix-sum +10 -0
- data/bin/ix-swap +3 -0
- data/bin/ix-symlink +13 -0
- data/bin/ix-tab +6 -0
- data/bin/ix-tabify +7 -0
- data/bin/ix-tac +11 -0
- data/bin/ix-task +20 -0
- data/bin/ix-technical +7 -0
- data/bin/ix-template +48 -0
- data/bin/ix-text-to-binary +7 -0
- data/bin/ix-text-to-dot +22 -0
- data/bin/ix-text-to-json +16 -0
- data/bin/ix-text-to-morse +72 -0
- data/bin/ix-tick +20 -0
- data/bin/ix-time +6 -0
- data/bin/ix-times +10 -0
- data/bin/ix-timestamp +79 -0
- data/bin/ix-timestamp-sort +16 -0
- data/bin/ix-timestamp2 +14 -0
- data/bin/ix-title +2 -0
- data/bin/ix-to-f +6 -0
- data/bin/ix-to-i +6 -0
- data/bin/ix-to-sym +6 -0
- data/bin/ix-to_i +6 -0
- data/bin/ix-todo +11 -0
- data/bin/ix-tokenize-for-template +25 -0
- data/bin/ix-transpose +48 -0
- data/bin/ix-tree +19 -0
- data/bin/ix-trim +5 -0
- data/bin/ix-truncate +22 -0
- data/bin/ix-ts +6 -0
- data/bin/ix-tsv-to-json +15 -0
- data/bin/ix-ucwords +11 -0
- data/bin/ix-unescape +8 -0
- data/bin/ix-unhtml +8 -0
- data/bin/ix-upcase +5 -0
- data/bin/ix-url-check +25 -0
- data/bin/ix-urls +46 -0
- data/bin/ix-vim +9 -0
- data/bin/ix-words +9 -0
- data/bin/ix-wrap +10 -0
- data/bin/ix-xy +81 -0
- data/bin/ix-zebra +122 -0
- metadata +597 -0
data/bin/ix-mr-robot
ADDED
data/bin/ix-multiply
ADDED
data/bin/ix-mv
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
source_application = ARGV[0]
|
4
|
+
target_application = ARGV[1]
|
5
|
+
target_path = File.dirname(__FILE__)
|
6
|
+
source_file = "#{target_path}/ix-#{source_application}"
|
7
|
+
target_file = "#{target_path}/ix-#{target_application}"
|
8
|
+
|
9
|
+
system "mv #{source_file} #{target_file}"
|
10
|
+
|
@@ -0,0 +1,27 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'time'
|
4
|
+
|
5
|
+
STDIN.each_line do |line|
|
6
|
+
|
7
|
+
day, year, hour, minute, second, timezone = line.scan(/\d+/)
|
8
|
+
month = line.scan(/\/[^0-9]\w+/)[0].scan(/\w+/)[0]
|
9
|
+
|
10
|
+
day = day.to_i
|
11
|
+
year = year.to_i
|
12
|
+
hour = hour.to_i
|
13
|
+
minute = minute.to_i
|
14
|
+
second = second.to_i
|
15
|
+
|
16
|
+
# puts line.inspect
|
17
|
+
# puts [day, month, year, hour, minute, second, timezone].inspect
|
18
|
+
|
19
|
+
time = Time.parse("#{year}-#{month}-#{day} #{hour}:#{minute}:#{second}", timezone)
|
20
|
+
|
21
|
+
# puts time.tv_sec
|
22
|
+
|
23
|
+
puts "[ 'not', new Date(#{time.year}, #{time.month}, #{time.day}, #{time.hour}, #{time.min}, #{time.sec}), new Date(#{time.year}, #{time.month}, #{time.day}, #{time.hour}, #{time.min}, #{time.sec}) ],"
|
24
|
+
|
25
|
+
|
26
|
+
end
|
27
|
+
|
data/bin/ix-nested-list
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
regex = /^\w+/
|
4
|
+
prefix = 'n/a'
|
5
|
+
|
6
|
+
STDIN.each_line do |line|
|
7
|
+
|
8
|
+
if line =~ regex
|
9
|
+
prefix = line
|
10
|
+
next
|
11
|
+
end
|
12
|
+
|
13
|
+
item = line.gsub(/^\s+/, '')
|
14
|
+
item = item.chomp
|
15
|
+
|
16
|
+
array = []
|
17
|
+
array.push(prefix.chomp)
|
18
|
+
array.push(item)
|
19
|
+
|
20
|
+
puts array.join("\t")
|
21
|
+
|
22
|
+
end
|
23
|
+
|
data/bin/ix-nnjj
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
STDIN.each do |line|
|
4
|
+
adjectives = line.scan(/JJ (\w+)/)
|
5
|
+
nouns = line.scan(/NN (\w+)/)
|
6
|
+
if adjectives.size > 0
|
7
|
+
adjectives.each do |adjective|
|
8
|
+
puts "adjective: #{adjective[0]}"
|
9
|
+
end
|
10
|
+
end
|
11
|
+
if nouns.size > 0
|
12
|
+
nouns.each do |noun|
|
13
|
+
puts "noun: #{noun[0]}"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
data/bin/ix-noeol
ADDED
data/bin/ix-noise
ADDED
data/bin/ix-normalize
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# encoding: utf-8
|
3
|
+
|
4
|
+
require 'optparse'
|
5
|
+
|
6
|
+
@configuration = {}
|
7
|
+
|
8
|
+
@configuration[:scale_min] = 0
|
9
|
+
@configuration[:scale_max] = 10
|
10
|
+
|
11
|
+
OptionParser.new do |opts|
|
12
|
+
|
13
|
+
opts.banner = "USAGE: #{File.basename($0)} [OPTIONS]"
|
14
|
+
|
15
|
+
help_string = 'Minimun value for future scaling normalization.'
|
16
|
+
opts.on('-i', '--min [N]', OptionParser::DecimalInteger, help_string) do |value|
|
17
|
+
@configuration[:scale_min] = value
|
18
|
+
end
|
19
|
+
|
20
|
+
help_string = 'Maximum value for future scaling normalization.'
|
21
|
+
opts.on('-a', '--max [N]', OptionParser::DecimalInteger, help_string) do |value|
|
22
|
+
@configuration[:scale_max] = value
|
23
|
+
end
|
24
|
+
|
25
|
+
opts.on('--extra') do |value|
|
26
|
+
puts "Normalizes numeric data, expects two columns from STDIN:"
|
27
|
+
puts "key and value, key is a string without spaces, value is a number."
|
28
|
+
puts "Original data will printed and suffixed by their corresponding normalized values."
|
29
|
+
exit 0
|
30
|
+
end
|
31
|
+
|
32
|
+
end.parse!
|
33
|
+
|
34
|
+
|
35
|
+
|
36
|
+
$stdin.sync = true
|
37
|
+
|
38
|
+
sample = { }
|
39
|
+
|
40
|
+
STDIN.each do |line|
|
41
|
+
key, value = line.split(/\s+/)
|
42
|
+
sample[key] ||= {}
|
43
|
+
sample[key][:data] ||= []
|
44
|
+
if sample[key][:total]
|
45
|
+
sample[key][:total] += value.to_f
|
46
|
+
else
|
47
|
+
sample[key][:total] = value.to_f
|
48
|
+
end
|
49
|
+
sample[key][:data] << value.to_f
|
50
|
+
end
|
51
|
+
|
52
|
+
class Array
|
53
|
+
# Future Scaling
|
54
|
+
def normalize(scale_min, scale_max)
|
55
|
+
map do |number|
|
56
|
+
divisor = (number - min) * (scale_max - scale_min)
|
57
|
+
dividend = max - min
|
58
|
+
divisor / dividend
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
sample.keys.each do |key|
|
64
|
+
normalized = sample[key][:data].normalize(@configuration[:scale_min], @configuration[:scale_max])
|
65
|
+
sample[key][:data].size.times do |needle|
|
66
|
+
puts "#{key} #{sample[key][:data][needle]} #{normalized[needle]} "
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
data/bin/ix-numbers
ADDED
data/bin/ix-numerate
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
padding = ARGV[0].to_i
|
4
|
+
suffix = ARGV[1].to_s
|
5
|
+
counter = ARGV[2].to_i
|
6
|
+
|
7
|
+
STDIN.each_line do |line|
|
8
|
+
counter += 1
|
9
|
+
if padding == 0
|
10
|
+
template = "%s%s %s"
|
11
|
+
else
|
12
|
+
template = "%0.#{padding}d%s %s"
|
13
|
+
end
|
14
|
+
|
15
|
+
puts template % [counter, suffix, line]
|
16
|
+
end
|
data/bin/ix-occurrence
ADDED
data/bin/ix-open
ADDED
data/bin/ix-parse
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
|
4
|
+
counter = 0
|
5
|
+
STDIN.each_line do |line|
|
6
|
+
counter += 1
|
7
|
+
key, value = line.split(' : ')
|
8
|
+
prefix = key.scan(/(^\s+)(.*)/)[0][0]
|
9
|
+
key.gsub!(/^\s+/, '')
|
10
|
+
value.gsub!(/^\s+/, '')
|
11
|
+
value.gsub!(/,$/, '')
|
12
|
+
puts prefix + "#{('dir_' + counter.to_s).inspect} : {"
|
13
|
+
puts prefix + ' "source" : ' + "#{key.chomp},"
|
14
|
+
puts prefix + ' "target" : ' + "#{value.chomp}"
|
15
|
+
puts prefix + '},'
|
16
|
+
end
|
17
|
+
|
data/bin/ix-pass
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
lower = ('0'..'Z').to_a
|
4
|
+
upper = ('0'..'z').to_a
|
5
|
+
extra = '!"#$%&\'()0=~|@`{}[]*:,./_<>?_;:]L*-+'.scan(/./)
|
6
|
+
|
7
|
+
possiblities = lower + upper + extra
|
8
|
+
|
9
|
+
output_string = ''
|
10
|
+
output_length = (ARGV[0] || 8).to_i
|
11
|
+
|
12
|
+
output_length.times do |n|
|
13
|
+
output_string << possiblities.shuffle.first()
|
14
|
+
end
|
15
|
+
|
16
|
+
puts output_string
|
17
|
+
|
data/bin/ix-path
ADDED
data/bin/ix-path-stats
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
def build_branch(hash, string, split)
|
4
|
+
chunks = string.split(split)
|
5
|
+
clean_chunks = chunks - [""]
|
6
|
+
puts clean_chunks.inspect
|
7
|
+
dynamic_code = ""
|
8
|
+
clean_chunks.each do |chunk|
|
9
|
+
dynamic_code << "['#{chunk}'] || = {}\n"
|
10
|
+
end
|
11
|
+
puts dynamic_code
|
12
|
+
end
|
13
|
+
|
14
|
+
tree = {}
|
15
|
+
|
16
|
+
STDIN.each_line do |line|
|
17
|
+
build_branch(tree, line.chomp, '/')
|
18
|
+
end
|
19
|
+
|
20
|
+
puts tree.inspect
|
21
|
+
|
data/bin/ix-pbcopy
ADDED
data/bin/ix-pdf
ADDED
data/bin/ix-percentage
ADDED
@@ -0,0 +1,103 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# encoding: utf-8
|
3
|
+
|
4
|
+
# Percentage bar.
|
5
|
+
#
|
6
|
+
# items = (1..100).to_a
|
7
|
+
# size = (10..100).to_a
|
8
|
+
# length = size.shuffle.first
|
9
|
+
#
|
10
|
+
# items.each do |item|
|
11
|
+
# puts Percentage.new(100, item, length).to_bar
|
12
|
+
# end
|
13
|
+
#
|
14
|
+
class Percentage
|
15
|
+
def initialize(product, divisor, scale = 100)
|
16
|
+
@product = product
|
17
|
+
@scale = scale - 5
|
18
|
+
@pre_percentage = (divisor * @scale / product).to_f
|
19
|
+
@percentage = (@pre_percentage * 100 / @scale)
|
20
|
+
@divisor = divisor
|
21
|
+
end
|
22
|
+
def to_i
|
23
|
+
@percentage.to_i
|
24
|
+
end
|
25
|
+
def to_f
|
26
|
+
@percentage.to_f
|
27
|
+
end
|
28
|
+
|
29
|
+
# 0 ~ 50 green
|
30
|
+
# 50 ~ 80 yellow
|
31
|
+
# 80 ~ 100 red
|
32
|
+
def to_bar(color = true, bar = '|')
|
33
|
+
filling = (bar * @pre_percentage.to_i)
|
34
|
+
padding = 0
|
35
|
+
if color
|
36
|
+
if to_i >= 0 and to_i < 50
|
37
|
+
filling = "[0;32;1m" + (bar * @pre_percentage.to_f) + "[0m"
|
38
|
+
end
|
39
|
+
if to_i >= 50 and to_i < 80
|
40
|
+
filling = "[0;33;1m" + (bar * @pre_percentage.to_f) + "[0m"
|
41
|
+
end
|
42
|
+
if to_i >= 80
|
43
|
+
filling = "[0;31;1m" + (bar * @pre_percentage.to_f) + "[0m"
|
44
|
+
end
|
45
|
+
if filling.size > 0
|
46
|
+
padding = 13
|
47
|
+
end
|
48
|
+
end
|
49
|
+
bindings = [filling, to_f, '%', @divisor]
|
50
|
+
"[%-#{@scale + padding}s%7.3f%s] %10.2f incidents for" % bindings
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
|
55
|
+
class Array
|
56
|
+
|
57
|
+
def mean
|
58
|
+
product = 0;
|
59
|
+
each do |number|
|
60
|
+
product += number
|
61
|
+
end
|
62
|
+
product / size
|
63
|
+
end
|
64
|
+
|
65
|
+
def product
|
66
|
+
sum = 0;
|
67
|
+
each do |number|
|
68
|
+
sum += number
|
69
|
+
end
|
70
|
+
sum
|
71
|
+
end
|
72
|
+
|
73
|
+
def to_percentage
|
74
|
+
Percentage.new(product, hash.keys.size)
|
75
|
+
end
|
76
|
+
|
77
|
+
end
|
78
|
+
|
79
|
+
|
80
|
+
hash = {}
|
81
|
+
|
82
|
+
STDIN.each_line do |line|
|
83
|
+
chunks = line.split(/\s+/)
|
84
|
+
hash[chunks[0]] ||= []
|
85
|
+
hash[chunks[0]] << chunks[1].to_f
|
86
|
+
end
|
87
|
+
|
88
|
+
total = 0
|
89
|
+
hash.keys.each do |key|
|
90
|
+
array = hash[key]
|
91
|
+
total += array.product
|
92
|
+
end
|
93
|
+
|
94
|
+
hash.keys.each do |key|
|
95
|
+
array = hash[key]
|
96
|
+
p = Percentage.new(total, array.product, 50)
|
97
|
+
|
98
|
+
template = "%s %s"
|
99
|
+
bindings = [p.to_bar, key]
|
100
|
+
puts template % bindings
|
101
|
+
end
|
102
|
+
|
103
|
+
puts "Total: #{total}"
|
data/bin/ix-permutations
ADDED
data/bin/ix-pick
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
feature = ARGV[0] || 'FEATURE'
|
4
|
+
|
5
|
+
list = []
|
6
|
+
|
7
|
+
STDIN.each_line do |line|
|
8
|
+
list.push(line.chomp)
|
9
|
+
end
|
10
|
+
|
11
|
+
derivates = []
|
12
|
+
derivates.push('Specification')
|
13
|
+
derivates.push('Implement')
|
14
|
+
derivates.push('Test on Local')
|
15
|
+
derivates.push('Test on Staging')
|
16
|
+
derivates.push('Test on Production')
|
17
|
+
|
18
|
+
if ARGV.size > 1
|
19
|
+
puts ARGV.size
|
20
|
+
derivates = ARGV[1..(ARGV.size - 1)]
|
21
|
+
end
|
22
|
+
|
23
|
+
derivates.each do |derivate|
|
24
|
+
list.each do |string|
|
25
|
+
puts "#{feature}: #{derivate}: #{string}"
|
26
|
+
end
|
27
|
+
end
|
data/bin/ix-prefix
ADDED
data/bin/ix-pretty
ADDED
data/bin/ix-psd-to-json
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'tmpdir'
|
4
|
+
require 'psd'
|
5
|
+
require 'json'
|
6
|
+
|
7
|
+
Dir.mktmpdir do |temporal_directory|
|
8
|
+
data = STDIN.read
|
9
|
+
psd_document_path = "#{temporal_directory}/document.psd"
|
10
|
+
File.open(psd_document_path, 'w+') do |file|
|
11
|
+
file.write(data)
|
12
|
+
end
|
13
|
+
PSD.open(psd_document_path) do |psd|
|
14
|
+
puts psd.tree.to_hash.to_json
|
15
|
+
end
|
16
|
+
end
|
data/bin/ix-quote
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
STDIN.each_line do |line|
|
4
|
+
# puts line.chomp.inspect
|
5
|
+
template = "%<quote_start>s%<content>s%<quote_end>s"
|
6
|
+
bindings = {
|
7
|
+
:quote_start => ARGV[0] || '"',
|
8
|
+
:quote_end => ARGV[1] || '"',
|
9
|
+
:content => line.chomp
|
10
|
+
}
|
11
|
+
puts format(template, bindings)
|
12
|
+
end
|
data/bin/ix-rainbow
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'isna'
|
4
|
+
|
5
|
+
colors = [:green, :black, :red, :black]
|
6
|
+
|
7
|
+
STDIN.each_line do |line|
|
8
|
+
needle = 0
|
9
|
+
prefix = line.scan(/^\s+/)[0]
|
10
|
+
words = line.split(' ')
|
11
|
+
print prefix
|
12
|
+
words.each do |word|
|
13
|
+
print word.to_ansi.send(colors[needle]).to_s + ' '
|
14
|
+
needle += 1
|
15
|
+
if needle > colors.size - 1
|
16
|
+
needle = 0
|
17
|
+
end
|
18
|
+
end
|
19
|
+
puts ''
|
20
|
+
end
|
21
|
+
|
data/bin/ix-ramp
ADDED