Class: SpecI18n::CommandLine::LanguageHelpFormatter

Inherits:
Object
  • Object
show all
Extended by:
Parser, Term::ANSIColor
Defined in:
lib/spec-i18n/command_line/language_help_formatter.rb

Class Method Summary collapse

Class Method Details

.grep_value(lang, key) ⇒ Object



49
50
51
# File 'lib/spec-i18n/command_line/language_help_formatter.rb', line 49

def grep_value(lang, key)
  SpecI18n::SPEC_LANGUAGES[lang][key]
end

.list_advanced_keywords(io, language) ⇒ Object



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/spec-i18n/command_line/language_help_formatter.rb', line 60

def list_advanced_keywords(io, language)
  NaturalLanguage::ADVANCED_KEYWORDS.map do |keyword|
    language_keywords = [keyword]
    language.keywords[keyword].map do |key, values|
      language_keywords << [key, values.to_s.split('|').join(' / ')]
    end
    
    keywords_table = table do
      self.headings = [language_keywords.shift]
      language_keywords.each do |keywords|
        add_row keywords
      end
    end
    
    keywords_table
    
  end
end

.list_basic_keywords(language) ⇒ Object



53
54
55
56
57
58
# File 'lib/spec-i18n/command_line/language_help_formatter.rb', line 53

def list_basic_keywords(language)
  NaturalLanguage::BASIC_KEYWORDS.map do |keyword|
    words = language.keywords[keyword]            
    [ keyword, words.split('|').join(' / ')] 
  end
end

.list_keywords_and_exit(io, lang) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/spec-i18n/command_line/language_help_formatter.rb', line 30

def list_keywords_and_exit(io, lang)
  
  language = NaturalLanguage.get(lang)
  
  keywords = list_basic_keywords(language)
  
  print_table io, table(nil, *keywords)
  
  advanced_keywords = list_advanced_keywords(io, language)
  
  print_table io, advanced_keywords, :exit => true
end

.list_languagesObject



43
44
45
46
47
# File 'lib/spec-i18n/command_line/language_help_formatter.rb', line 43

def list_languages
  languages = SpecI18n::SPEC_LANGUAGES.keys.sort.map do |lang|
    [ lang, grep_value(lang, 'name'), grep_value(lang, 'native') ]
  end
end

.list_languages_and_exit(io) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/spec-i18n/command_line/language_help_formatter.rb', line 17

def list_languages_and_exit(io)
  languages = list_languages
  
  languages_table = table do
    self.headings = ['Language', 'Name', 'Native']
    languages.each do |language|
      add_row language
    end
  end
  
  print_table io, languages_table, :exit => true
end


79
80
81
82
# File 'lib/spec-i18n/command_line/language_help_formatter.rb', line 79

def print_table(io, raw, options={})
  io.puts raw.to_s.send(options[:color] || :green).bold
  Kernel.exit(0) if options[:exit]
end