Class: Vedeu::Colours::Repository

Inherits:
Object
  • Object
show all
Defined in:
lib/vedeu/colours/repository.rb

Overview

Allows the storing of HTML/CSS colours and their respective escape sequences.

Direct Known Subclasses

Backgrounds, Foregrounds

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeVedeu::Colours::Repository

Returns a new instance of Vedeu::Colours::Repository.



20
21
22
# File 'lib/vedeu/colours/repository.rb', line 20

def initialize
  @storage = {}
end

Instance Attribute Details

#storageHash<String => String> (readonly) Also known as: all

Returns:

  • (Hash<String => String>)


14
15
16
# File 'lib/vedeu/colours/repository.rb', line 14

def storage
  @storage
end

Instance Method Details

#register(colour, escape_sequence) ⇒ String

Registers a colour with respective escape sequence.

Returns:

  • (String)


27
28
29
# File 'lib/vedeu/colours/repository.rb', line 27

def register(colour, escape_sequence)
  storage.store(colour, escape_sequence)
end

#registered?(colour) ⇒ Boolean

Returns a boolean indicating whether the colour has been sregistered.

Parameters:

  • colour (String)

Returns:



36
37
38
39
40
# File 'lib/vedeu/colours/repository.rb', line 36

def registered?(colour)
  return false unless colour

  storage.key?(colour)
end

#reset!Hash

Removes all stored colours.

Returns:

  • (Hash)


45
46
47
# File 'lib/vedeu/colours/repository.rb', line 45

def reset!
  storage.clear
end

#retrieve(colour) ⇒ String

Retrieves the escape sequence of a registered colour.

Returns:

  • (String)


52
53
54
# File 'lib/vedeu/colours/repository.rb', line 52

def retrieve(colour)
  storage.fetch(colour, '')
end