Class: Macroape::CLI::OutputInformation
- Inherits:
-
Object
- Object
- Macroape::CLI::OutputInformation
- Defined in:
- lib/macroape/cli.rb
Instance Method Summary collapse
- #add_parameter(param_name, description, value, &block) ⇒ Object
- #add_resulting_value(param_name, description, value, &block) ⇒ Object
- #add_table_parameter(param_name, description, key_in_hash, &block) ⇒ Object
- #add_table_parameter_without_description(param_name, key_in_hash, &block) ⇒ Object
-
#background_parameter(param_name, description, value, &block) ⇒ Object
printed only if it is not wordwise [1,1,1,1].
- #header_content ⇒ Object
-
#initialize(data = nil) {|_self| ... } ⇒ OutputInformation
constructor
A new instance of OutputInformation.
- #parameter_description_string(param_name, description) ⇒ Object
- #parameters_info ⇒ Object
- #result ⇒ Object
- #resulting_table ⇒ Object
- #resulting_values_info ⇒ Object
- #table_content ⇒ Object
Constructor Details
#initialize(data = nil) {|_self| ... } ⇒ OutputInformation
Returns a new instance of OutputInformation.
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/macroape/cli.rb', line 25 def initialize(data = nil) @table_parameter_descriptions = [] @parameter_descriptions = [] @parameter_value_infos = [] @resulting_value_descriptions = [] @resulting_value_infos = [] @table_headers = [] @table_rows = [] @table_rows_callbacks = {} @data = data yield self if block_given? end |
Instance Method Details
#add_parameter(param_name, description, value, &block) ⇒ Object
52 53 54 55 |
# File 'lib/macroape/cli.rb', line 52 def add_parameter(param_name, description, value, &block) @parameter_descriptions << parameter_description_string(param_name, description) @parameter_value_infos << "# #{param_name} = #{value}" end |
#add_resulting_value(param_name, description, value, &block) ⇒ Object
57 58 59 60 |
# File 'lib/macroape/cli.rb', line 57 def add_resulting_value(param_name, description, value, &block) @resulting_value_descriptions << parameter_description_string(param_name, description) @resulting_value_infos << "#{param_name}\t#{value}" end |
#add_table_parameter(param_name, description, key_in_hash, &block) ⇒ Object
62 63 64 65 |
# File 'lib/macroape/cli.rb', line 62 def add_table_parameter(param_name, description, key_in_hash, &block) @table_parameter_descriptions << parameter_description_string(param_name, description) add_table_parameter_without_description(param_name, key_in_hash, &block) end |
#add_table_parameter_without_description(param_name, key_in_hash, &block) ⇒ Object
67 68 69 70 71 |
# File 'lib/macroape/cli.rb', line 67 def add_table_parameter_without_description(param_name, key_in_hash, &block) @table_headers << param_name @table_rows << key_in_hash @table_rows_callbacks[key_in_hash] = block end |
#background_parameter(param_name, description, value, &block) ⇒ Object
printed only if it is not wordwise [1,1,1,1]
92 93 94 95 96 97 98 |
# File 'lib/macroape/cli.rb', line 92 def background_parameter(param_name, description, value, &block) if value.is_a?(Bioinform::Background) add_parameter(param_name, description, value.to_s, &block) unless value.wordwise? else add_parameter(param_name, description, value.join(','), &block) unless value == [1,1,1,1] end end |
#header_content ⇒ Object
83 84 85 |
# File 'lib/macroape/cli.rb', line 83 def header_content '# ' + @table_headers.join("\t") end |
#parameter_description_string(param_name, description) ⇒ Object
73 74 75 |
# File 'lib/macroape/cli.rb', line 73 def parameter_description_string(param_name, description) "# #{param_name}: #{description}" end |
#parameters_info ⇒ Object
41 42 43 |
# File 'lib/macroape/cli.rb', line 41 def parameters_info [*@parameter_descriptions, *@parameter_value_infos] end |
#result ⇒ Object
47 48 49 50 |
# File 'lib/macroape/cli.rb', line 47 def result [parameters_info, resulting_values_info, resulting_table].reject(&:empty?).map{|b|b.join("\n")}.join("\n#\n") #[*parameters_info, '#', *resulting_values_info, '#', *resulting_table].join("\n") end |
#resulting_table ⇒ Object
87 88 89 |
# File 'lib/macroape/cli.rb', line 87 def resulting_table @data ? [*@table_parameter_descriptions, header_content, *table_content] : [] end |
#resulting_values_info ⇒ Object
44 45 46 |
# File 'lib/macroape/cli.rb', line 44 def resulting_values_info [*@resulting_value_descriptions, *@resulting_value_infos] end |
#table_content ⇒ Object
77 78 79 80 81 |
# File 'lib/macroape/cli.rb', line 77 def table_content @data.map{|info| @table_rows.map{|row| @table_rows_callbacks[row] ? @table_rows_callbacks[row].call(info[row]) : info[row] }.join("\t") } end |