Class: Macroape::CLI::OutputInformation

Inherits:
Object
  • Object
show all
Defined in:
lib/macroape/cli.rb

Instance Method Summary collapse

Constructor Details

#initialize(data = nil) {|_self| ... } ⇒ OutputInformation

Returns a new instance of OutputInformation.

Yields:

  • (_self)

Yield Parameters:



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_contentObject



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_infoObject



41
42
43
# File 'lib/macroape/cli.rb', line 41

def parameters_info
  [*@parameter_descriptions, *@parameter_value_infos]
end

#resultObject



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_tableObject



87
88
89
# File 'lib/macroape/cli.rb', line 87

def resulting_table
  @data ? [*@table_parameter_descriptions, header_content, *table_content] : []
end

#resulting_values_infoObject



44
45
46
# File 'lib/macroape/cli.rb', line 44

def resulting_values_info
  [*@resulting_value_descriptions, *@resulting_value_infos]
end

#table_contentObject



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