Skip to content

fix: update ameba to commit 4057e0c5 for Crystal 1.21 compatibility#48

Merged
evgkrsk merged 2 commits into
masterfrom
fix/update-ameba-crystal-1.21
Jul 18, 2026
Merged

fix: update ameba to commit 4057e0c5 for Crystal 1.21 compatibility#48
evgkrsk merged 2 commits into
masterfrom
fix/update-ameba-crystal-1.21

Conversation

@evgkrsk

@evgkrsk evgkrsk commented Jul 18, 2026

Copy link
Copy Markdown
Owner

Что

Ameba v1.6.4 использует метод next_string_array_token у Crystal::Lexer, который был удалён в Crystal 1.21.0. Это вызывало ошибку компиляции в CI.

Что сделано

  • Обновлён shard.yml: tag: v1.6.4commit: 4057e0c5
  • Обновлён shard.lock под новый коммит
  • Код косметически подправлен под новые проверки линтера (новые правила ameba v1.7.0-dev)
  • Отключено правило Style/HeredocIndent через .ameba.yml — оно циклично срабатывало (--fix писал [Corrected], но при повторном запуске снова выдавал failure), баг в dev-версии ameba

Коммит 4057e0c5 (PR crystal-ameba/ameba#823) добавляет проверку responds_to?(:next_string_array_token) в Tokenizer#run_array_state и fallback на next_string_token для Crystal >= 1.21.

Проверка

  • crystal bin/ameba.cr — 0 failures
  • crystal spec46 examples, 0 failures, 0 errors
  • CI — зелёный на обеих платформах

evgkrsk added 2 commits July 18, 2026 15:32
Ameba v1.6.4 uses next_string_array_token which was removed in
Crystal 1.21.0. The fix in ameba@4057e0c5 uses responds_to? to
gracefully handle both old and new Crystal versions.
@evgkrsk
evgkrsk merged commit f2f9cec into master Jul 18, 2026
2 checks passed
@evgkrsk
evgkrsk deleted the fix/update-ameba-crystal-1.21 branch July 18, 2026 09:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant