run_tasks 1.2.6 → 1.2.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/src/run/markdown.rb +35 -0
  3. data/src/run/string.rb +56 -0
  4. metadata +3 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: be0c61e4fcb47131ecedec3b107691287bd990a52c9bdd517f70db4348155a71
4
- data.tar.gz: fcf90fd62f48754153dffdfb21e3f127461db6609f146f8b016a389a94bd3aeb
3
+ metadata.gz: da3ec2cfa88571c506d40137ccf45d89ee9fbee8929d90ae8473655283b6d670
4
+ data.tar.gz: f16ab0960472b63733244160e327844baeb3151d29434a7bd56948444df074a9
5
5
  SHA512:
6
- metadata.gz: e2fda407a3691d1e6cd7b2da2d219f751d948cec19e28dc32497e2c3e9ad831bb216c513342db3a983ea3ba93f2792c8677816a66dd800764a6fcdf200de229f
7
- data.tar.gz: d5079f567ec2eb3d86ad5fb3169354efd2826b2f35165a8cc18da8250e8f104c0f6fdd7e09741098e3431e681bfae271df27e41a2c6309a65013ea894471a95a
6
+ metadata.gz: d201af5c988bfad270cac3a72b4128bb2abd8366631bd84f1e35883662e84ce9e620769ede8d9fbff83ee74fe2c85a399a573ce3d082dd07d3f7cb857eb22efc
7
+ data.tar.gz: caa52f6153fb91d953a0e25218e8a62493b0fb35bc3c3c2af7488cc96f93285c2e6ae1117a509f9df86c7b6c86d84ad203416cd0c82eaa4519ac84ae2c9e91ad
@@ -0,0 +1,35 @@
1
+ require_relative "./string"
2
+
3
+ class Markdown
4
+ def initialize(string)
5
+ @string = string
6
+ end
7
+
8
+ def to_ansi
9
+ # Apply private methods onto string.
10
+ private_methods(false).reject{ |name| name == :initialize }
11
+ .reduce(@string) do |string, method|
12
+ send(method, string)
13
+ end
14
+ end
15
+
16
+ private
17
+
18
+ def bold(string)
19
+ string.gsub(/([^*_])[*_]{2}([^*_]+)[*_]{2}([^*_])/) do
20
+ Regexp.last_match[1] + Regexp.last_match[2].bold + Regexp.last_match[3]
21
+ end
22
+ end
23
+
24
+ def code(string)
25
+ string.gsub(/([^`])`([^*_]+)`([^`])/) do
26
+ Regexp.last_match[1] + Regexp.last_match[2].blue.inverse + Regexp.last_match[3]
27
+ end
28
+ end
29
+
30
+ def italic(string)
31
+ string.gsub(/([^*_])[*_]{1}([^*_]+)[*_]{1}([^*_])/) do
32
+ Regexp.last_match[1] + Regexp.last_match[2].italic + Regexp.last_match[3]
33
+ end
34
+ end
35
+ end
data/src/run/string.rb ADDED
@@ -0,0 +1,56 @@
1
+ # https://gist.github.com/fnky/458719343aabd01cfb17a3a4f7296797
2
+
3
+ class String
4
+ @@styles = {
5
+ :bold => "1",
6
+ :dim => "2",
7
+ :italic => "3",
8
+ :underline => "4",
9
+ :inverse => "7",
10
+ :strikethrough => "9",
11
+ :fg_black => "30",
12
+ :fg_red => "31",
13
+ :fg_green => "32",
14
+ :fg_yellow => "33",
15
+ :fg_blue => "34",
16
+ :fg_magenta => "35",
17
+ :fg_cyan => "36",
18
+ :fg_white => "37",
19
+ :fg_bright_black => "30;1",
20
+ :fg_bright_red => "31;1",
21
+ :fg_bright_green => "32;1",
22
+ :fg_bright_yellow => "33;1",
23
+ :fg_bright_blue => "34;1",
24
+ :fg_bright_magenta => "35;1",
25
+ :fg_bright_cyan => "36;1",
26
+ :fg_bright_white => "37;1",
27
+ }
28
+
29
+ # To be able to handle more styles (with method chaining) we should refactor this.
30
+ def stylize(style)
31
+ "\033[#{@@styles[style.to_sym]}m#{self}\033[0m"
32
+ end
33
+
34
+ def bold; stylize(:bold); end
35
+ def dim; stylize(:dim); end
36
+ def italic; stylize(:italic); end
37
+ def underline; stylize(:underline); end
38
+ def inverse; stylize(:inverse); end
39
+ def strikethrough; stylize(:strikethrough); end
40
+ def black; stylize(:fg_black); end
41
+ def red; stylize(:fg_red); end
42
+ def green; stylize(:fg_green); end
43
+ def yellow; stylize(:fg_yellow); end
44
+ def blue; stylize(:fg_blue); end
45
+ def magenta; stylize(:fg_magenta); end
46
+ def cyan; stylize(:fg_cyan); end
47
+ def white; stylize(:fg_white); end
48
+ def bright_black; stylize(:fg_bright_black); end
49
+ def bright_red; stylize(:fg_bright_red); end
50
+ def bright_green; stylize(:fg_bright_green); end
51
+ def bright_yellow; stylize(:fg_bright_yellow); end
52
+ def bright_blue; stylize(:fg_bright_blue); end
53
+ def bright_magenta; stylize(:fg_bright_magenta); end
54
+ def bright_cyan; stylize(:fg_bright_cyan); end
55
+ def bright_white; stylize(:fg_bright_white); end
56
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: run_tasks
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.6
4
+ version: 1.2.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aurélien Delogu
@@ -19,6 +19,8 @@ extra_rdoc_files: []
19
19
  files:
20
20
  - bin/run
21
21
  - src/run.rb
22
+ - src/run/markdown.rb
23
+ - src/run/string.rb
22
24
  homepage: https://github.com/pyrsmk/run
23
25
  licenses:
24
26
  - MIT