Class: Ncurses::Key

Inherits:
Object show all
Includes:
Comparable
Defined in:
lib/tagen/ncurses.rb

Overview

Key

Constant Summary collapse

@@keys =
{}
@@codes =
@@keys.invert

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(arg) ⇒ Key

Returns a new instance of Key.



92
93
94
95
96
97
98
99
100
101
# File 'lib/tagen/ncurses.rb', line 92

def initialize(arg)
# arg: int or str   
  if arg.class == Fixnum
    @code = arg
    @key = @@codes[arg]
  elsif arg.class == String
    @key = arg
    @code = @@keys[arg]
  end
end

Instance Attribute Details

#codeObject (readonly)

Returns the value of attribute code.



90
91
92
# File 'lib/tagen/ncurses.rb', line 90

def code
  @code
end

#keyObject (readonly)

Returns the value of attribute key.



90
91
92
# File 'lib/tagen/ncurses.rb', line 90

def key
  @key
end

Instance Method Details

#<=>(arg) ⇒ Object



106
107
108
109
110
111
112
113
114
# File 'lib/tagen/ncurses.rb', line 106

def <=>(arg)
  if arg.class == self.class
    code <=> arg.code
  elsif arg.class == Fixnum
    code <=> arg
  elsif arg.class == String
    code <=> @@keys[arg]
  end
end

#codesObject



104
# File 'lib/tagen/ncurses.rb', line 104

def codes; @@codes end

#keysObject



103
# File 'lib/tagen/ncurses.rb', line 103

def keys; @@keys end

#to_sObject



116
# File 'lib/tagen/ncurses.rb', line 116

def to_s; "#{@key}: #{@code}" end