Module: ConceptStringFormatter
- Defined in:
- lib/asker/formatter/concept_string_formatter.rb
Overview
Define methods to transform Concept into String
Class Method Summary collapse
- .format_neighbors(concept) ⇒ Object
- .format_tables(concept) ⇒ Object
-
.format_texts(concept) ⇒ Object
rubocop:enable Metrics/AbcSize rubocop:enable Metrics/MethodLength.
-
.get_tt_rows(concept) ⇒ Object
rubocop:disable Metrics/AbcSize rubocop:disable Metrics/MethodLength.
-
.to_s(concept) ⇒ Object
Formatter Concept to String.
Class Method Details
.format_neighbors(concept) ⇒ Object
60 61 62 63 64 65 |
# File 'lib/asker/formatter/concept_string_formatter.rb', line 60 def self.format_neighbors(concept) list = concept.neighbors[0..4].map do |i| i[:concept].name(:screen) + '(' + i[:value].to_s[0..4] + ')' end [Rainbow('.neighbors').blue, list.join("\n")] end |
.format_tables(concept) ⇒ Object
53 54 55 56 57 58 |
# File 'lib/asker/formatter/concept_string_formatter.rb', line 53 def self.format_tables(concept) return [] if concept.tables.count.zero? list = concept.tables.map(&:to_s) [Rainbow('.tables').color(:blue), list.join("\n")] end |
.format_texts(concept) ⇒ Object
rubocop:enable Metrics/AbcSize rubocop:enable Metrics/MethodLength
41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/asker/formatter/concept_string_formatter.rb', line 41 def self.format_texts(concept) list = [] concept.texts.each do |i| if i.size < 60 list << i.to_s next end list << i[0...70].to_s + '...' end [Rainbow('.def(text)').blue, list.join("\n")] end |
.get_tt_rows(concept) ⇒ Object
rubocop:disable Metrics/AbcSize rubocop:disable Metrics/MethodLength
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/asker/formatter/concept_string_formatter.rb', line 21 def self.get_tt_rows(concept) rows = [] rows << [Rainbow(concept.id.to_s).bright, Rainbow(concept.name(:screen)).white.bg(:blue).bright + " (lang=#{concept.lang.lang}) "] rows << [Rainbow('Filename').blue, concept.filename] rows << [Rainbow('Context').blue, concept.context.join(', ').to_s] rows << [Rainbow('Tags').blue, concept..join(', ').to_s] rows << [Rainbow('Reference to').blue, concept.reference_to.join(', ')[0...70].to_s] rows << [Rainbow('Referenced by').blue, concept.referenced_by.join(', ')[0...70].to_s] rows << format_texts(concept) rows << [Rainbow('.def(images)').blue, concept.images.size.to_s] rows << format_tables(concept) rows << format_neighbors(concept) end |
.to_s(concept) ⇒ Object
Formatter Concept to String
12 13 14 15 16 17 |
# File 'lib/asker/formatter/concept_string_formatter.rb', line 12 def self.to_s(concept) tt = Terminal::Table.new rows = get_tt_rows(concept) rows.each { |row| tt.add_row row } "#{tt}\n" end |