toc 0.0.0 → 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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: []