bin/ix-string-similarity in ix-cli-0.0.11 vs bin/ix-string-similarity in ix-cli-0.0.12
- old
+ new
@@ -79,10 +79,14 @@
opts.on('-t', '--threshold [NUMBER]', 'Threshold default value is 0.8.') do |value|
options[:threshold] = value.to_f
end
+ opts.on('-s', '--summary', 'Print Summarized version.') do |value|
+ options[:summary] = value
+ end
+
end.parse!
required_options = [:threshold]
required_options.each do |option|
unless options[option]
@@ -155,16 +159,19 @@
end
require 'isna'
+summary_output = []
+detailed_output = []
+
banner = Template::Banner.new
banner.lines = lines.to_s.to_ansi.yellow.to_s
banner.groups = hash.keys.size.to_s.to_ansi.yellow.to_s
banner.threshold = options[:threshold].to_s.to_ansi.yellow.to_s
banner.datetime = Time.now.to_s.to_ansi.yellow.to_s
-puts banner.to_s
+summary_output.push(banner.to_s)
groups = []
hash.each do |category_name, records|
groups.push([category_name, records.size])
@@ -177,18 +184,19 @@
end
sorted_groups_by_n_records_asc.reverse.each_with_index do |key, index|
line, records = key[0], hash[key[0]]
- puts ''
+ detailed_output.push('')
group = Template::Group.new
group.percent = ('%2.2f%%' % ((records.size.to_f / lines) * 100)).to_s.to_ansi.red.to_s
group.number = (index + 1).to_s.to_ansi.red.to_s
group.items = records.size.to_s.to_ansi.cyan.to_s
group.line = line.chomp.to_ansi.green.to_s
- puts group.to_s
+ summary_output.push(group.to_s)
+ detailed_output.push(group.to_s)
sorted_items_in_group = records.sort do |a, b|
a[:score] <=> b[:score]
end
@@ -196,10 +204,19 @@
item = Template::Item.new
item.count = (index + 1).to_s.rjust(4, ' ').to_ansi.cyan.to_s
item.total = records.size.to_s.ljust(4, ' ').to_ansi.cyan.to_s
item.score = ('%4.2f%%' % (record[:score] * 100)).rjust(7, ' ').to_ansi.green.to_s
item.line = record[:line]
- puts item.to_s
+ detailed_output.push(item.to_s)
end
end
+summary_output.each do |output_line|
+ puts output_line
+end
+
+unless options[:summary]
+ detailed_output.each do |output_line|
+ puts output_line
+ end
+end