Class: Vedeu::Input::Store

Inherits:
Object
  • Object
show all
Defined in:
lib/vedeu/input/store.rb

Overview

Stores each keypress or command to be retrieved later.

Instance Method Summary collapse

Constructor Details

#initializeStore

Returns a new instance of Store.



9
10
# File 'lib/vedeu/input/store.rb', line 9

def initialize
end

Instance Method Details

#add_command(command) ⇒ Hash<Symbol => Array<Symbol|String>>

Returns:

  • (Hash<Symbol => Array<Symbol|String>>)


13
14
15
# File 'lib/vedeu/input/store.rb', line 13

def add_command(command)
  all_commands << command
end

#add_keypress(keypress) ⇒ Hash<Symbol => Array<Symbol|String>>

Returns:

  • (Hash<Symbol => Array<Symbol|String>>)


18
19
20
# File 'lib/vedeu/input/store.rb', line 18

def add_keypress(keypress)
  all_keypresses << keypress
end

#allHash<Symbol => Array<Symbol|String>>

Returns:

  • (Hash<Symbol => Array<Symbol|String>>)


23
24
25
# File 'lib/vedeu/input/store.rb', line 23

def all
  storage
end

#all_commandsArray<Symbol|String>

Returns:

  • (Array<Symbol|String>)


28
29
30
# File 'lib/vedeu/input/store.rb', line 28

def all_commands
  storage[:commands]
end

#all_keypressesArray<Symbol|String>

Returns:

  • (Array<Symbol|String>)


33
34
35
# File 'lib/vedeu/input/store.rb', line 33

def all_keypresses
  storage[:keypresses]
end

#in_memoryHash<Symbol => Array<Symbol|String>> (private)

Returns:

  • (Hash<Symbol => Array<Symbol|String>>)


60
61
62
63
64
65
# File 'lib/vedeu/input/store.rb', line 60

def in_memory
  {
    commands:   [],
    keypresses: [],
  }
end

#last_commandNilClass|Symbol|String

Returns:

  • (NilClass|Symbol|String)


38
39
40
# File 'lib/vedeu/input/store.rb', line 38

def last_command
  all_commands[-1]
end

#last_keypressNilClass|Symbol|String

Returns:

  • (NilClass|Symbol|String)


43
44
45
# File 'lib/vedeu/input/store.rb', line 43

def last_keypress
  all_keypresses[-1]
end

#resetHash<Symbol => Array<Symbol|String>>

Returns:

  • (Hash<Symbol => Array<Symbol|String>>)


48
49
50
# File 'lib/vedeu/input/store.rb', line 48

def reset
  @storage = in_memory
end

#storageHash<Symbol => Array<Symbol|String>> (private)

Returns:

  • (Hash<Symbol => Array<Symbol|String>>)


55
56
57
# File 'lib/vedeu/input/store.rb', line 55

def storage
  @storage ||= in_memory
end