difftastic 0.1.2-x86_64-darwin → 0.2.0-x86_64-darwin
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 +4 -4
- data/lib/difftastic/version.rb +1 -1
- data/lib/difftastic.rb +48 -32
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 49cf69106a9979f7f93f699124f5232902dc61af93e61c64b26919abd5a3ce6d
|
4
|
+
data.tar.gz: 9a6c9cccb7931d879caefc17b30c847c89d44fe1044a9e43e3a80c86f4c1d3fd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d803bb0650e155b79b6f37b8361a2b1bf98729c846c60ecbfa841bf54e6d3cd1e8b0efc4b347121abd1e892e9a23f8a60b7b9b0089485584306492ba3945a721
|
7
|
+
data.tar.gz: 0e5a3cede9611b810180f0330ce93ee5bb84a3f62f8d20fbb1024e08f88c4304abef04bcec56eef3343f62b89c86989ad485d58a6a10079abc0452abb9e68661
|
data/lib/difftastic/version.rb
CHANGED
data/lib/difftastic.rb
CHANGED
@@ -71,57 +71,73 @@ module Difftastic
|
|
71
71
|
exe_file
|
72
72
|
end
|
73
73
|
|
74
|
-
def self.pretty(object,
|
74
|
+
def self.pretty(object, indent: 0, indent_width: 2, max_width: 80, indentation_bytes: "\t")
|
75
75
|
case object
|
76
76
|
when Hash
|
77
|
-
buffer
|
77
|
+
buffer = +"{\n"
|
78
78
|
indent += 1
|
79
79
|
object.each do |key, value|
|
80
80
|
buffer << (" " * indent)
|
81
|
-
pretty(key,
|
81
|
+
buffer << pretty(key, indent:)
|
82
82
|
buffer << " => "
|
83
|
-
pretty(value,
|
83
|
+
buffer << pretty(value, indent:)
|
84
84
|
buffer << ",\n"
|
85
85
|
end
|
86
86
|
indent -= 1
|
87
87
|
buffer << (" " * indent)
|
88
88
|
buffer << "}"
|
89
89
|
when Array
|
90
|
-
|
91
|
-
|
92
|
-
object.
|
93
|
-
|
94
|
-
|
95
|
-
|
90
|
+
new_lines = false
|
91
|
+
length = 0
|
92
|
+
items = object.map do |item|
|
93
|
+
pretty_item = pretty(item, indent: indent + 1)
|
94
|
+
new_lines = true if pretty_item.include?("\n")
|
95
|
+
length += pretty_item.bytesize
|
96
|
+
pretty_item
|
97
|
+
end
|
98
|
+
|
99
|
+
if new_lines || length > max_width - (indent * indent_width)
|
100
|
+
"[\n#{indentation_bytes * (indent + 1)}#{items.join(",\n#{indentation_bytes * (indent + 1)}")},\n#{indentation_bytes * indent}]"
|
101
|
+
else
|
102
|
+
"[#{items.join(', ')}]"
|
96
103
|
end
|
97
|
-
indent -= 1
|
98
|
-
buffer << (" " * indent)
|
99
|
-
buffer << "]"
|
100
104
|
when Set
|
101
|
-
|
102
|
-
|
103
|
-
object.to_a.sort!.
|
104
|
-
|
105
|
-
|
106
|
-
|
105
|
+
new_lines = false
|
106
|
+
length = 0
|
107
|
+
items = object.to_a.sort!.map do |item|
|
108
|
+
pretty_item = pretty(item, indent: indent + 1)
|
109
|
+
new_lines = true if pretty_item.include?("\n")
|
110
|
+
length += pretty_item.bytesize
|
111
|
+
pretty_item
|
107
112
|
end
|
108
|
-
|
109
|
-
|
110
|
-
|
113
|
+
|
114
|
+
if new_lines || length > max_width - (indent * indent_width)
|
115
|
+
"Set[\n#{indentation_bytes * (indent + 1)}#{items.join(",\n#{indentation_bytes * (indent + 1)}")},\n#{indentation_bytes * indent}]"
|
116
|
+
else
|
117
|
+
"Set[#{items.join(', ')}]"
|
118
|
+
end
|
119
|
+
when Module
|
120
|
+
object.name
|
111
121
|
when Symbol, String, Integer, Float, Regexp, Range, Rational, Complex, true, false, nil
|
112
|
-
|
122
|
+
object.inspect
|
113
123
|
else
|
114
|
-
buffer
|
115
|
-
|
116
|
-
|
124
|
+
buffer = +""
|
125
|
+
instance_variables = object.instance_variables
|
126
|
+
if instance_variables.length > 0
|
127
|
+
buffer << "#{object.class.name}(\n"
|
128
|
+
indent += 1
|
129
|
+
object.instance_variables.each do |name|
|
130
|
+
buffer << (" " * indent)
|
131
|
+
buffer << ":#{name} => "
|
132
|
+
buffer << pretty(object.instance_variable_get(name), indent:)
|
133
|
+
buffer << ",\n"
|
134
|
+
end
|
135
|
+
indent -= 1
|
117
136
|
buffer << (" " * indent)
|
118
|
-
buffer << "
|
119
|
-
|
120
|
-
buffer << "
|
137
|
+
buffer << ")"
|
138
|
+
else
|
139
|
+
buffer << "#{object.class.name}()"
|
121
140
|
end
|
122
|
-
indent -= 1
|
123
|
-
buffer << (" " * indent)
|
124
|
-
buffer << ")"
|
125
141
|
end
|
126
142
|
end
|
127
143
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: difftastic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: x86_64-darwin
|
6
6
|
authors:
|
7
7
|
- Joel Drapper
|
8
8
|
bindir: exe
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-01-
|
10
|
+
date: 2025-01-23 00:00:00.000000000 Z
|
11
11
|
dependencies: []
|
12
12
|
email:
|
13
13
|
- joel@drapper.me
|