Class: Ensconce::KeyMap

Inherits:
Object
  • Object
show all
Defined in:
lib/ensconce/key_mappers/key_map.rb

Overview

Parent class for key maps.

Specific key maps should inherit from this class

Direct Known Subclasses

MydexKeyMap

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.for(key) ⇒ Object



8
9
10
11
# File 'lib/ensconce/key_mappers/key_map.rb', line 8

def self.for(key)
  key_map = new 
  key_map[key]
end

Instance Method Details

#[](key) ⇒ Object



17
18
19
# File 'lib/ensconce/key_mappers/key_map.rb', line 17

def [](key)
  mappings[key]
end

#default_mappingObject



30
31
32
# File 'lib/ensconce/key_mappers/key_map.rb', line 30

def default_mapping
  raise "default_mapping must be defined"
end

#map_generator(args) ⇒ Object



21
22
23
24
25
26
27
28
# File 'lib/ensconce/key_mappers/key_map.rb', line 21

def map_generator(args)
  HashBuilder.new(
    :keys => (args[:original] || args[:keys]),
    :values => (args[:replacement] || args[:values]),
    :keys_mod => (args[:original_mod] || args[:keys_mod]),
    :values_mod => (args[:replacement_mod] || args[:values_mod])
  ).hash
end

#mappingsObject



13
14
15
# File 'lib/ensconce/key_mappers/key_map.rb', line 13

def mappings
  @mappings ||= default_mappings
end