typ-formatter 0.0.0
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 +7 -0
- data/lib/typ/formatter.rb +39 -0
- metadata +57 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 9a5439dcb401b6077dc54c879aa4ef4111ab4e95f3b196e471d3913b0064d8b4
|
4
|
+
data.tar.gz: f4e0d58a682dd2ea51673b5ceed45a92991b4a1d23c83fc0ce0f0876d7b43bf2
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 672e493e75e6764e16fb49673e762bdcb7a2149a6ff554b86dc25ed58aeffe3eea384545e5fbbe62276fd5c96df8136fd528825a0814b07df6957a9821f97231
|
7
|
+
data.tar.gz: e9d5afd8122b9321f3faa5208250e440550e9f0a678ee25e22adaa2ef1381a305d8d8ba8dedc72213f1781ae119ef7893d86d75b14fd73db6cfbcdc6200dabe5
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module Typ
|
2
|
+
class Formatter
|
3
|
+
require 'rainbow'
|
4
|
+
|
5
|
+
def initialize typ
|
6
|
+
name = typ.class.name
|
7
|
+
@string = if typ.ok?
|
8
|
+
Rainbow(name).green
|
9
|
+
else
|
10
|
+
Rainbow(name).red + "\n" + format_gates_of(typ)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def to_s
|
15
|
+
@string
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
def format_gates_of typ
|
20
|
+
typ.gates.map do |gate|
|
21
|
+
" #{format_gate gate}"
|
22
|
+
end.join "\n"
|
23
|
+
end
|
24
|
+
|
25
|
+
def format_gate gate
|
26
|
+
case gate
|
27
|
+
when Typ
|
28
|
+
self.class.new(gate).to_s
|
29
|
+
when Typ::Is::Array
|
30
|
+
format_is_array gate
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def format_is_array gate
|
35
|
+
string = "is #{gate.to_a}"
|
36
|
+
gate.ok? ? Rainbow(string).green : Rainbow(string).red
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
metadata
ADDED
@@ -0,0 +1,57 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: typ-formatter
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Anatoly Chernow
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2018-04-27 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rainbow
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
description:
|
28
|
+
email:
|
29
|
+
executables: []
|
30
|
+
extensions: []
|
31
|
+
extra_rdoc_files: []
|
32
|
+
files:
|
33
|
+
- lib/typ/formatter.rb
|
34
|
+
homepage:
|
35
|
+
licenses: []
|
36
|
+
metadata: {}
|
37
|
+
post_install_message:
|
38
|
+
rdoc_options: []
|
39
|
+
require_paths:
|
40
|
+
- lib
|
41
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
42
|
+
requirements:
|
43
|
+
- - ">="
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
47
|
+
requirements:
|
48
|
+
- - ">="
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: '0'
|
51
|
+
requirements: []
|
52
|
+
rubyforge_project:
|
53
|
+
rubygems_version: 2.7.6
|
54
|
+
signing_key:
|
55
|
+
specification_version: 4
|
56
|
+
summary: A formatter to create nice-looking strings from Typs.
|
57
|
+
test_files: []
|