colorputs 0.2.1 → 0.2.2

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/colorputs.rb +28 -24
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 32d29f8f142b80543ba387ce5cce70984630315d
4
- data.tar.gz: eb7ea6d0841cf6c1589bbf97ff9dd5f9f8865993
3
+ metadata.gz: 9ae9a10c9171d187ce40cb99a92850bddc386d95
4
+ data.tar.gz: a30994927b620ea14c80948490dbebaf9786d53b
5
5
  SHA512:
6
- metadata.gz: 0a4e4a6b334bd207aa9c20bc1bf6b16094b806945205bdc00f09302743d90aba83e7299a91e2cdc93e655aab0b79e743dccaec7837a94d3a30cb3abbd8babbaf
7
- data.tar.gz: f8a147777e5d929f664e1e7832b211ae7dcf5445a7e59cf3c4137ffb240a38640462c2ccba63c602f4c52383b1f8bc2cbe07fe7a167de5310c1d668cd44efaee
6
+ metadata.gz: 5f9a1aa2d96ab7402f45eb9fdb6a28d9752f468ad0a513c0d3db797b533a4f4885ca3de5fe8f1380a6d4e0debb0332a1f0b3a182700327e8725f3aa2ba66f34d
7
+ data.tar.gz: f2b0d11d8db402a6efab3b07f595dd3775f0b2f474fb23a695ff425b6d369b62772ae8dd855ec9fc72e5d0b7047bf766b59466560d74b5493e99a01b5d8e85b8
data/lib/colorputs.rb CHANGED
@@ -1,30 +1,34 @@
1
1
  module Kernel
2
- __colors__ = {
3
- red: '[91m',
4
- green: '[92m',
5
- yellow: '[93m',
6
- blue: '[94m',
7
- magenta: '[95m',
8
- cyan: '[96m',
9
- white: '[37m',
10
- black: '[30m'
11
- }
12
-
13
- old_puts = method :puts
14
-
15
- aux_rb_body = proc do |str|
16
- str.chars.inject("") {|acc,c| acc << "\e[5m\e" + __colors__.values[rand(__colors__.size - 1)] + c}.<< "\e[0m"
2
+
3
+ colors = Hash.new
4
+
5
+ std_coloring = proc do |color_code, str|
6
+ "\e#{color_code}#{str}\e[0m"
7
+ end.curry()
8
+
9
+ rainbow_coloring = proc do |str|
10
+ str.chars.inject("") { |acc,c| acc + colors.values[rand(colors.size - 2)].(c) }
17
11
  end
18
12
 
19
- p_color_body = proc do |print_m_sym, obj, color = nil|
20
- color_s = if color == :rainbow
21
- aux_rb_body.(obj.send(print_m_sym))
22
- elsif color && __colors__[color.to_sym]
23
- "\e#{__colors__[color.to_sym]}#{obj.send(print_m_sym)}\e[0m"
24
- else
25
- obj
26
- end
27
- old_puts.(color_s)
13
+ colors.merge!({
14
+ red: std_coloring.('[91m'),
15
+ green: std_coloring.('[92m'),
16
+ yellow: std_coloring.('[93m'),
17
+ blue: std_coloring.('[94m'),
18
+ magenta: std_coloring.('[95m'),
19
+ cyan: std_coloring.('[96m'),
20
+ white: std_coloring.('[37m'),
21
+ black: std_coloring.('[30m'),
22
+ rainbow: rainbow_coloring
23
+ })
24
+
25
+ old_puts = method :puts
26
+
27
+ p_color_body = proc do |print_m_sym, obj, *args|
28
+ maybe_color = args.last
29
+ fancy_str = colors[maybe_color].(obj.send(print_m_sym)) rescue obj
30
+ args.pop unless fancy_str == obj
31
+ old_puts.(fancy_str, args)
28
32
  end.curry()
29
33
 
30
34
  define_method :puts, p_color_body.(:to_s)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: colorputs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Agustín Beamurguía, Lautaro De León