Class: Vedeu::Colours
- Inherits:
-
Object
- Object
- Vedeu::Colours
- Defined in:
- lib/vedeu/repositories/repositories/colours.rb
Overview
Allows the storing of HTML/CSS colours and their respective escape sequences.
Direct Known Subclasses
Instance Attribute Summary collapse
- #storage ⇒ Hash<String => String> readonly
Instance Method Summary collapse
-
#initialize ⇒ Vedeu::Colours
constructor
Returns a new instance of Vedeu::Colours.
-
#register(colour, escape_sequence) ⇒ String
Registers a colour with respective escape sequence.
-
#registered?(colour) ⇒ Boolean
Returns a boolean indicating whether the colour has been registered.
-
#reset! ⇒ Hash
Removes all stored colours.
-
#retrieve(colour) ⇒ String
Retrieves the escape sequence of a registered colour.
-
#retrieve_or_register(colour, escape_sequence) ⇒ String
Retrieves the escape sequence of a registered colour, or registers the colour with its respective escape sequence.
Constructor Details
#initialize ⇒ Vedeu::Colours
Returns a new instance of Vedeu::Colours.
14 15 16 |
# File 'lib/vedeu/repositories/repositories/colours.rb', line 14 def initialize @storage = {} end |
Instance Attribute Details
#storage ⇒ Hash<String => String> (readonly)
9 10 11 |
# File 'lib/vedeu/repositories/repositories/colours.rb', line 9 def storage @storage end |
Instance Method Details
#register(colour, escape_sequence) ⇒ String
Registers a colour with respective escape sequence.
21 22 23 |
# File 'lib/vedeu/repositories/repositories/colours.rb', line 21 def register(colour, escape_sequence) storage.store(colour, escape_sequence) end |
#registered?(colour) ⇒ Boolean
Returns a boolean indicating whether the colour has been registered.
29 30 31 32 33 |
# File 'lib/vedeu/repositories/repositories/colours.rb', line 29 def registered?(colour) return false unless colour storage.key?(colour) end |
#reset! ⇒ Hash
Removes all stored colours.
38 39 40 |
# File 'lib/vedeu/repositories/repositories/colours.rb', line 38 def reset! storage.clear end |
#retrieve(colour) ⇒ String
Retrieves the escape sequence of a registered colour.
45 46 47 |
# File 'lib/vedeu/repositories/repositories/colours.rb', line 45 def retrieve(colour) storage.fetch(colour, '') end |
#retrieve_or_register(colour, escape_sequence) ⇒ String
Retrieves the escape sequence of a registered colour, or registers the colour with its respective escape sequence.
53 54 55 56 57 58 59 60 61 |
# File 'lib/vedeu/repositories/repositories/colours.rb', line 53 def retrieve_or_register(colour, escape_sequence) if registered?(colour) retrieve(colour) else register(colour, escape_sequence) end end |