Class: Cureutils::CLI

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

Overview

The class represents the cli interface

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.exit_on_failure?Boolean

Returns:

  • (Boolean)


22
23
24
# File 'lib/cureutils/cli.rb', line 22

def exit_on_failure?
  true
end

Instance Method Details

#date(fmt = '+%F %H:%M:%S @P') ⇒ Object

Original date command’s default is ‘+%a %b %e %H:%M:%S %Z %Y @P’ However, I would like to adopt this setting.



109
110
111
112
113
114
# File 'lib/cureutils/cli.rb', line 109

def date(fmt = '+%F %H:%M:%S @P')
  manager = CureDateManager.new
  manager.datetime(options[:date])
  manager.format = fmt
  exit(manager.print_results)
end

#echoObject



96
97
98
99
100
101
102
# File 'lib/cureutils/cli.rb', line 96

def echo
  manager = CureEchoManager.new
  manager.precure(options[:precure])
  manager.msg_attack(options[:attack])
  manager.nosleep(options[:quick])
  exit(manager.print_results)
end

#girlsObject



44
45
46
47
48
# File 'lib/cureutils/cli.rb', line 44

def girls
  Rubicure::Girl.config.map { |_k, v| v[:human_name] }.uniq.each do |v|
    puts v
  end
end

#grep(default_pat = '[:precure_name:]', filename = nil) ⇒ Object



64
65
66
67
68
69
70
71
72
73
# File 'lib/cureutils/cli.rb', line 64

def grep(default_pat = '[:precure_name:]', filename = nil)
  manager = CureGrepManager.new
  manager.source_input(filename)
  manager.pattern(default_pat.clone, options['extended-regexp'.to_sym])
  # Check the file discriptor to check the pipe exists or not.
  manager.option_colorize($stdout.isatty)
  manager.option_only(options['only-matching'.to_sym])
  # Print matched lines.
  exit(manager.print_results)
end

#humanizeObject



36
37
38
39
40
41
# File 'lib/cureutils/cli.rb', line 36

def humanize
  manager = CureTranslateManager.new
  manager.translate_from_to('[:precure_name:]', '[:human_name:]')
  manager.in = $stdin
  exit(manager.print_results)
end

#jankenObject



117
118
119
120
# File 'lib/cureutils/cli.rb', line 117

def janken
  manager = CureJankenManager.new
  exit(manager.janken.to_i)
end

#precuresObject



51
52
53
54
55
# File 'lib/cureutils/cli.rb', line 51

def precures
  Rubicure::Girl.config.map { |_k, v| v[:precure_name] }.uniq.each do |v|
    puts v
  end
end

#tr(pat_from = '[:precure_name:]', pat_to = '[:human_name:]') ⇒ Object



76
77
78
79
80
81
# File 'lib/cureutils/cli.rb', line 76

def tr(pat_from = '[:precure_name:]', pat_to = '[:human_name:]')
  manager = CureTranslateManager.new
  manager.in = $stdin
  manager.translate_from_to(pat_from, pat_to)
  exit(manager.print_results)
end

#transformObject



28
29
30
31
32
33
# File 'lib/cureutils/cli.rb', line 28

def transform
  manager = CureTranslateManager.new
  manager.translate_from_to('[:human_name:]', '[:precure_name:]')
  manager.in = $stdin
  exit(manager.print_results)
end