iruby 0.7.2 → 0.7.3
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/CHANGES.md +6 -0
- data/lib/iruby/display.rb +17 -9
- data/lib/iruby/version.rb +1 -1
- data/test/iruby/display_test.rb +1 -4
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ea24babb0bbbb88c3a3bacfbb2ca4438903d9cffa1e6609976e066cfa3e72ff5
|
4
|
+
data.tar.gz: 428513fab78f77f82632f3d66cbd2dc6a81344ea781c213164af038530ecf90e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1d451a1d683ef25e3f1beeb235db1a2c082199b1a3196b3fa3c1468c505f2d7406931cdc03f678ee0b792f8b7fdf7ffe75979e9f5c2e1470c83a9c8cc1f7fc05
|
7
|
+
data.tar.gz: 2ff9d61912037029eb3b6c087d129cee9b4473f825b51a492e165ee40e0370c46bc2b41159f8f8510f0e083c1c2bb200c46b6fa1ea18c5d11f4e12bf5c61416b
|
data/CHANGES.md
CHANGED
data/lib/iruby/display.rb
CHANGED
@@ -40,13 +40,23 @@ module IRuby
|
|
40
40
|
raise 'Invalid mime type' unless exact_mime.include?('/')
|
41
41
|
end
|
42
42
|
|
43
|
-
data =
|
43
|
+
data = if obj.respond_to?(:to_iruby_mimebundle)
|
44
|
+
render_mimebundle(obj, exact_mime, fuzzy_mime)
|
45
|
+
else
|
46
|
+
{}
|
47
|
+
end
|
44
48
|
|
45
49
|
# Render by additional formatters
|
46
50
|
render_by_registry(data, obj, exact_mime, fuzzy_mime)
|
47
51
|
|
48
52
|
# Render by to_xxx methods
|
49
|
-
|
53
|
+
default_renderers = if obj.respond_to?(:to_iruby_mimebundle)
|
54
|
+
# Do not use Hash#slice for Ruby < 2.5
|
55
|
+
{"text/plain" => DEFAULT_MIME_TYPE_FORMAT_METHODS["text/plain"]}
|
56
|
+
else
|
57
|
+
DEFAULT_MIME_TYPE_FORMAT_METHODS
|
58
|
+
end
|
59
|
+
default_renderers.each do |mime, methods|
|
50
60
|
next if mime.nil? && !data.empty? # for to_iruby
|
51
61
|
|
52
62
|
next if mime && data.key?(mime) # do not overwrite
|
@@ -109,13 +119,11 @@ module IRuby
|
|
109
119
|
|
110
120
|
private def render_mimebundle(obj, exact_mime, fuzzy_mime)
|
111
121
|
data = {}
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
data[mime] = value
|
118
|
-
end
|
122
|
+
include_mime = [exact_mime].compact
|
123
|
+
formats, metadata = obj.to_iruby_mimebundle(include: include_mime)
|
124
|
+
formats.each do |mime, value|
|
125
|
+
if fuzzy_mime.nil? || mime.include?(fuzzy_mime)
|
126
|
+
data[mime] = value
|
119
127
|
end
|
120
128
|
end
|
121
129
|
data
|
data/lib/iruby/version.rb
CHANGED
data/test/iruby/display_test.rb
CHANGED
@@ -59,14 +59,12 @@ module IRubyTest
|
|
59
59
|
def to_iruby_mimebundle(include: [])
|
60
60
|
@to_iruby_mimebundle_called = true
|
61
61
|
mimes = if include.empty?
|
62
|
-
["text/
|
62
|
+
["text/markdown", "application/json"]
|
63
63
|
else
|
64
64
|
include
|
65
65
|
end
|
66
66
|
formats = mimes.map { |mime|
|
67
67
|
result = case mime
|
68
|
-
when "text/html"
|
69
|
-
"<i>html</i>"
|
70
68
|
when "text/markdown"
|
71
69
|
"**markdown**"
|
72
70
|
when "application/json"
|
@@ -170,7 +168,6 @@ module IRubyTest
|
|
170
168
|
def test_display
|
171
169
|
assert_iruby_display({
|
172
170
|
result: {
|
173
|
-
"text/html" => "<i>html</i>",
|
174
171
|
"text/markdown" => "**markdown**",
|
175
172
|
"application/json" => %Q[{"mimebundle": "json"}],
|
176
173
|
"text/plain" => "!!! inspect !!!"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: iruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Mendler
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2021-
|
12
|
+
date: 2021-07-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: data_uri
|
@@ -245,7 +245,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
245
245
|
- !ruby/object:Gem::Version
|
246
246
|
version: '0'
|
247
247
|
requirements: []
|
248
|
-
rubygems_version: 3.2.
|
248
|
+
rubygems_version: 3.2.21
|
249
249
|
signing_key:
|
250
250
|
specification_version: 4
|
251
251
|
summary: Ruby Kernel for Jupyter
|