toc 0.0.0 → 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/toc.rb +39 -21
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5bba1ae6b911ee2554f96bc0873a7d1af9ebbfb7
4
- data.tar.gz: b9658a9901a050cf8106b5b0ba8bcc0a731ed7a1
3
+ metadata.gz: 176aedd6d03c7430c3eb10e4a2b7cd57870d0c9f
4
+ data.tar.gz: 448863d8293d31052b23ec63fcd33cbaadbad957
5
5
  SHA512:
6
- metadata.gz: 5232358b92e0f39d2f62eb24a73076514999a4929e38fea8541428866192783d37ca80652f97fa8b7f349ef6a6ad0b3c364d297a3df3ba40e4aec62f1e862ec8
7
- data.tar.gz: 5d8d3d66a3dfd48f2653af445212c79447be8f084b513107ce23aadb754caffb3d7b72f4bd2cb52a8b8054c0f47966ff33bc96a393db83b28048c84970b2af4d
6
+ metadata.gz: ddce9696651f636f75a4b86ff0298a1dffa4b5e0087514546cd7aa4dbd900d935997f8b6e7a769c3dd8c2b56ff1c1bab32fd943f09c348b5ec71eb6b7ee6f8ce
7
+ data.tar.gz: 00b38c72c88d19f71d604b3b7af9b31de5bef7c62f9a845a5098ff7176f07918a0ab541227e44aac99a53d2b406d08aa9703b647858b734b240db8b817370220
data/lib/toc.rb CHANGED
@@ -1,33 +1,51 @@
1
1
  class String
2
- def change(colour_code)
3
- "\033[#{colour_code}m#{self}\033[0m"
4
- end
5
2
 
6
- def black
7
- change 30
8
- end
3
+ # The Main Toc Driver.
4
+ #
5
+ # Example:
6
+ # puts 'Hello World'.red
7
+ # puts 'Hello World'.red_on_black
8
+ # puts 'Hello World'.red_on_black.underline
9
9
 
10
- def red
11
- change 31
12
- end
10
+ COLOURS = {
11
+ 'black' => 30,
12
+ 'red' => 31,
13
+ 'green' => 32,
14
+ 'yellow' => 33,
15
+ 'purple' => 34,
16
+ 'pink' => 35,
17
+ 'light_blue' => 36
18
+ }
13
19
 
14
- def green
15
- change 32
16
- end
20
+ STYLES = {
21
+ 'bold' => 1,
22
+ 'underline' => 4,
23
+ 'reversed' => 7
24
+ }
17
25
 
18
- def yellow
19
- change 33
20
- end
26
+ COLOURS.each do |colour, val|
27
+ define_method(colour) do
28
+ change val
29
+ end
21
30
 
22
- def pink
23
- change 34
31
+ COLOURS.each do |background, bg_val|
32
+ define_method("#{colour}_on_#{background}") do
33
+ change val, background: background
34
+ end
35
+ end
24
36
  end
25
37
 
26
- def purple
27
- change 35
38
+ STYLES.each do |colour, val|
39
+ define_method(colour) do
40
+ change val
41
+ end
28
42
  end
29
43
 
30
- def light_blue
31
- change 36
44
+ def change(colour_code, options = {})
45
+ if options[:background] && COLOURS[options[:background]]
46
+ "\e[#{colour_code};#{COLOURS[options[:background]] + 10}m#{self}\e[0m"
47
+ else
48
+ "\e[#{colour_code}m#{self}\e[0m"
49
+ end
32
50
  end
33
51
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: toc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Green
@@ -10,7 +10,7 @@ bindir: bin
10
10
  cert_chain: []
11
11
  date: 2014-04-04 00:00:00.000000000 Z
12
12
  dependencies: []
13
- description:
13
+ description: Toc is a simple tool used for colouring outputs to the console.
14
14
  email: tiimgreen@gmail.com
15
15
  executables: []
16
16
  extensions: []