colorputs 0.2.1 → 0.2.2

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/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