Class: JRubySQL::Output::Term
- Inherits:
-
Object
- Object
- JRubySQL::Output::Term
- Includes:
- Messages
- Defined in:
- lib/jrubysql/output/term.rb
Direct Known Subclasses
Constant Summary collapse
- HELP =
Erubis::Eruby.new(File.read File.join(File.dirname(__FILE__), '../doc/help.txt.erb')).result(binding)
Instance Method Summary collapse
- #cursor(empty) ⇒ Object
- #display_mode=(mode) ⇒ Object
- #error(message) ⇒ Object
- #info(message) ⇒ Object
-
#initialize ⇒ Term
constructor
A new instance of Term.
- #print_cursor(empty) ⇒ Object
- #print_help ⇒ Object
- #print_result(ret) ⇒ Object
- #result(message) ⇒ Object
- #warn(message) ⇒ Object
- #welcome! ⇒ Object
Methods included from Messages
Constructor Details
#initialize ⇒ Term
Returns a new instance of Term.
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/jrubysql/output/term.rb', line 12 def initialize # Make use of JLine included in JRuby terminal = case JRUBY_VERSION when /^1\.7/ Java::jline.console.ConsoleReader.new.getTerminal when /^1\.6/ Java::jline.ConsoleReader.new.getTerminal end @get_terminal_size = lambda { case JRUBY_VERSION when /^1\.7/ [ terminal.width, terminal.height ] when /^1\.6/ [ terminal.getTerminalWidth, terminal.getTerminalHeight ] end } self.display_mode = :table trap 'INT' do Thread.main.raise Interrupt end end |
Instance Method Details
#cursor(empty) ⇒ Object
40 41 42 43 44 45 46 |
# File 'lib/jrubysql/output/term.rb', line 40 def cursor empty if empty 'jrubysql> ' else ' -> ' end end |
#display_mode=(mode) ⇒ Object
94 95 96 |
# File 'lib/jrubysql/output/term.rb', line 94 def display_mode= mode @printer = "print_#{mode}".to_sym end |
#error(message) ⇒ Object
70 71 72 |
# File 'lib/jrubysql/output/term.rb', line 70 def error puts "[E] #{}" end |
#info(message) ⇒ Object
58 59 60 |
# File 'lib/jrubysql/output/term.rb', line 58 def info puts "[I] #{}" end |
#print_cursor(empty) ⇒ Object
48 49 50 |
# File 'lib/jrubysql/output/term.rb', line 48 def print_cursor empty print cursor(empty) end |
#print_help ⇒ Object
52 53 54 55 56 |
# File 'lib/jrubysql/output/term.rb', line 52 def print_help puts puts HELP puts end |
#print_result(ret) ⇒ Object
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
# File 'lib/jrubysql/output/term.rb', line 74 def print_result ret # Footer elapsed = "(#{'%.2f' % ret[:elapsed]} sec)" if ret[:set?] begin cnt = send(@printer, ret[:result]) result m(:rows_returned, cnt, cnt > 1 ? 's' : '', elapsed) rescue Interrupt warn m(:interrupted) end elsif ret[:result] cnt = [0, ret[:result]].max result m(:rows_affected, cnt, cnt > 1 ? 's' : '', elapsed) else result elapsed end puts end |
#result(message) ⇒ Object
62 63 64 |
# File 'lib/jrubysql/output/term.rb', line 62 def result puts "[R] #{}" end |
#warn(message) ⇒ Object
66 67 68 |
# File 'lib/jrubysql/output/term.rb', line 66 def warn puts "[W] #{}" end |