bitclust-core 1.6.0 → 1.6.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 +4 -4
- data/lib/bitclust/methoddatabase.rb +4 -0
- data/lib/bitclust/version.rb +1 -1
- data/test/test_mdparser.rb +35 -0
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8c50953e0ecaf38a9d4c6187b22eaccedd4b9f52029bb638e026fbbfc655d8a2
|
|
4
|
+
data.tar.gz: c5ce94f2931f5472651e6bd425c766ba19b9ff4acc87d8fd5ae8e57f384db3d6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4766a837042d881e63e96264338d7e04aa6e10e63db1b2ff22ca0e53e6f6e97f766efadbe9c1a6ff8c4b89bfac996eb4c060c9b9abfd8c4aff420c57a987a3f7
|
|
7
|
+
data.tar.gz: e64091ccdeddf09ed18339d2be46af88abc28c6d9aaf6ae9da888c4125c5ab47b526c315d9f630e76389258fe56f950600b1265d42c10d98a2d595b3892f02d8
|
|
@@ -202,6 +202,10 @@ module BitClust
|
|
|
202
202
|
# lib ファイルの値へ戻す
|
|
203
203
|
lib_entry.source_location = lib_location
|
|
204
204
|
end
|
|
205
|
+
rescue ParseError => e
|
|
206
|
+
# manual/ には今後もより新しい bitclust を必要とする記法が入りうる。
|
|
207
|
+
# 古い gem でパースに失敗したとき原因へたどり着けるよう案内を添える
|
|
208
|
+
raise ParseError, "#{e.message} (ヒント: マニュアルがより新しい bitclust を必要とする記法を含んでいる可能性があります。bitclust の gem を更新すると解決するかもしれません)", e.backtrace
|
|
205
209
|
end
|
|
206
210
|
|
|
207
211
|
# since は「その版以降」、until は「その版未満」(ブリッジの
|
data/lib/bitclust/version.rb
CHANGED
data/test/test_mdparser.rb
CHANGED
|
@@ -341,6 +341,41 @@ class TestMDParser < Test::Unit::TestCase
|
|
|
341
341
|
end
|
|
342
342
|
end
|
|
343
343
|
|
|
344
|
+
def test_update_by_markdowntree_parse_error_suggests_gem_update
|
|
345
|
+
# manual/ が新しい bitclust を必要とする記法を含むとき、古い gem では
|
|
346
|
+
# パースエラーになる。原因へたどり着けるよう gem 更新の案内を添える
|
|
347
|
+
require 'tmpdir'
|
|
348
|
+
Dir.mktmpdir do |root|
|
|
349
|
+
write = ->(rel, s) {
|
|
350
|
+
path = File.join(root, rel)
|
|
351
|
+
FileUtils.mkdir_p(File.dirname(path))
|
|
352
|
+
File.write(path, s)
|
|
353
|
+
}
|
|
354
|
+
write.call('mylib.md', "---\ntype: library\n---\nmylib。\n")
|
|
355
|
+
write.call('mylib/Foo.md', <<~MD)
|
|
356
|
+
---
|
|
357
|
+
library: mylib
|
|
358
|
+
---
|
|
359
|
+
# class Foo < Object
|
|
360
|
+
|
|
361
|
+
クラス。
|
|
362
|
+
|
|
363
|
+
## Instance Methods
|
|
364
|
+
|
|
365
|
+
### def bar: (Integer) -> String
|
|
366
|
+
|
|
367
|
+
RBS 形式のシグネチャ(未対応)。
|
|
368
|
+
MD
|
|
369
|
+
|
|
370
|
+
db = BitClust::MethodDatabase.dummy(PARAMS)
|
|
371
|
+
error = assert_raise(BitClust::ParseError) do
|
|
372
|
+
db.update_by_markdowntree(root)
|
|
373
|
+
end
|
|
374
|
+
assert_include error.message, "unsupported method signature"
|
|
375
|
+
assert_include error.message, "bitclust の gem を更新すると解決するかもしれません"
|
|
376
|
+
end
|
|
377
|
+
end
|
|
378
|
+
|
|
344
379
|
def test_copy_doc_md_keeps_relative_location
|
|
345
380
|
# Windows CI 対応: doc エントリの source_location は md_root と同じ形
|
|
346
381
|
# (相対で渡せば相対 manual/doc/...)で格納する。絶対パス化すると
|