lib/spec-i18n/command_line/options.rb in rspec-i18n-1.1.0 vs lib/spec-i18n/command_line/options.rb in rspec-i18n-1.2.0

- old
+ new

@@ -12,36 +12,50 @@ def parse!(args) @args = args @args.extend(::OptionParser::Arguable) @args.options do |opts| - opts.banner = [ "Usage: rspec-i18n [options] [LANGUAGE]", "", "Examples:", - "rspec-i18n --language help", "rspec-i18n --language pt"].join("\n") - opts.on("-l LANGUAGE", "--language LANGUAGE", "List keywords for a particular language", - %{Run with "--language help" to see all languages}) do |language| - print_languages(language) - end - opts.on_tail("-v", "--version", "Show version.") do - print_and_exit(SpecI18n::VERSION) - end - opts.on_tail("-h", "--help", "You're looking at it.") do - print_and_exit(opts.help) - end + banner(opts) + show_language_and_keywords(opts) + show_version(opts) + show_help(opts) end.parse! self end - def print_languages(language) - if language == 'help' - LanguageHelpFormatter.list_languages_and_exit(@output_stream) - else - LanguageHelpFormatter.list_keywords_and_exit(@output_stream, language) + def banner(opts) + opts.banner = [ "Usage: rspec-i18n [options] [LANGUAGE]", "", "Examples:", + "rspec-i18n --language help", "rspec-i18n --language pt"].join("\n") + end + + def show_language_and_keywords(opts) + opts.on("-l LANGUAGE", "--language LANGUAGE", "List keywords for a particular language", + %{Run with "--language help" to see all languages}) do |language| + print_languages(language) end end + def show_version(opts) + opts.on_tail("-v", "--version", "Show version.") do + print_and_exit(SpecI18n::VERSION) + end + end + + def show_help(opts) + opts.on_tail("-h", "--help", "You're looking at it.") do + print_and_exit(opts.help) + end + end + + def print_languages(language) + return Language.list_languages_and_exit(@output_stream) if language == 'help' + Language.list_keywords_and_exit(@output_stream, language) + end + def print_and_exit(message) @output_stream.puts message Kernel.exit(0) end + end end end \ No newline at end of file