class LyricsJapanese::CliLyricsJapanese

command line wrapper

Attributes

params[RW]

Public Class Methods

new() click to toggle source
# File lib/cli_lyrics_japanese.rb, line 13
def initialize
  @params = {}
end

Public Instance Methods

define_options(opts) click to toggle source
# File lib/cli_lyrics_japanese.rb, line 37
    def define_options(opts)
      opts.version = VERSION
      opts.on_tail('-h', '--help', 'Show this message') do
        puts opts
        exit
      end
      opts.on_tail('-V', '--version', 'Show version') do
        puts opts.ver
        exit
      end
      opts.banner = <<~BANNER

        #{opts.ver}
        #{DESCRIPTION}
        Usage: #{opts.program_name}
      BANNER
      opts
    end
parse_options() click to toggle source
# File lib/cli_lyrics_japanese.rb, line 17
def parse_options
  OptionParser.new do |opts|
    opts = define_options(opts)
    opts.parse!(ARGV, into: @params)
  end
end
run() click to toggle source
# File lib/cli_lyrics_japanese.rb, line 24
def run
  text = []
  if !ARGV.empty?
    File.open(ARGV[0]) do |file|
      text = file.each_line.to_a
    end
  else
    text = STDIN.each_line.to_a
  end
  lines = LyricsJapanese.new.to_lyricruby(text, ' ')
  puts lines.join("\n")
end