squarify 0.1.0 → 0.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 16c03049b3f29a0c48708750243e2635dbe23d305159f1bcc8710cf22ba716b2
4
- data.tar.gz: 6c1c0e0432bfefe95e0683af3bb372eb3815be04f4767188eb0dc20f82b8ddca
3
+ metadata.gz: 9aeb0272dbfa6402d4df5fa00873b1d73f42895997b2536fb659f33e13572910
4
+ data.tar.gz: c2edbc41528da8ae9f8bd9af2f50bfabb9cd9721814a266955ba9ccb83ba2471
5
5
  SHA512:
6
- metadata.gz: b53e2861de3d2a515f9ec0584054f2a3940ef2e5c9a38ae5f8654ffec5eb528a3e93375269f0fb490abfd9b4ddfdea389e417980896635bd27ea5b12d061aeb1
7
- data.tar.gz: b2b80fc93e5b15531d1d91357e1fc87a5fc908706313fb62094286d1693d2f6e1b4572173d6b0bdd64910eeb0ac3e946e852ec9ce62adc6e3909e63d84e494bf
6
+ metadata.gz: eac127458cc37674bd7c6a60e527d325caed62a9aab167cf4757e5ae8b5262270333cf98e68061f67cb07d3374361e5684a6550af58680dbe5734a421715ef26
7
+ data.tar.gz: ade7c683746183c1af3b89a2ceaf86ce5335c0f0144d1d30e8733706b55825ed48f1dc6eeac334935114bff1156b4c396d9474ffe18175eda70ad3aff6aeff70
data/lib/squarify.rb CHANGED
@@ -5,27 +5,47 @@ require_relative "squarify/version"
5
5
 
6
6
  module Squarify
7
7
 
8
- class Console
9
- def initialize size
10
- @size = size
11
- end
12
-
13
- def line options = nil
14
- box "━" * (@size - 2), options
15
- end
16
-
17
- def box sentence, options
18
- case options
19
- when "top"
20
- line = "┏" + sentence + "┓"
21
- when "bottom"
22
- line = "┗" + sentence + "┛"
23
- when "middle"
24
- line = "┣" + sentence + "┫"
25
- else
26
- line = "┃" + sentence + "┃"
27
- end
28
- end
29
- end
8
+ class Console
9
+ attr_accessor :stdout
10
+
11
+ def initialize size, record = false
12
+ @size = size
13
+ stdout = "" if record
14
+ end
15
+
16
+ def line options = nil
17
+ box "━" * (@size - 2), options
18
+ end
19
+
20
+ def text sentence, options = nil
21
+ if options.eql? "center"
22
+ sentence = truncate(sentence.center(@size - 2), @size - 2)
23
+ else
24
+ sentence = truncate(sentence, @size - 2)
25
+ sentence = sentence + " " * (@size - sentence.length - 2)
26
+ end
27
+
28
+ stdout << sentence + "\n" if @record
29
+ box sentence, options
30
+ end
31
+
32
+ private
33
+ def box sentence, options
34
+ case options
35
+ when "top"
36
+ line = "┏" + sentence + "┓"
37
+ when "bottom"
38
+ line = "┗" + sentence + "┛"
39
+ when "middle"
40
+ line = "┣" + sentence + "┫"
41
+ else
42
+ line = "┃" + sentence + "┃"
43
+ end
44
+ end
45
+
46
+ def truncate(string, max)
47
+ string.length > max ? "#{string[0...max - 3]}..." : string
48
+ end
49
+ end
30
50
  end
31
51
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Squarify
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.1"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: squarify
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mauro Niewolski