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