update gems, pull mastodon-api from recent git release to stop it for… · tekniklr/tekniklr.com@355ca40 · GitHub
Lien : https://github.com/tekniklr/tekniklr.com/commit/355ca406b6933ed3ac1ac6774bca14e81821df56
La gem mastodon-api est fonctionnelle avec Ruby 2.6.6, en revanche après mise à jour vers Ruby 2.7.2, ça cafouille.
6: from /usr/home/gregory/.gem/ruby/2.7/gems/mastodon-api-2.0.0/lib/mastodon/rest/media.rb:17:in `upload_media'
5: from /usr/home/gregory/.gem/ruby/2.7/gems/mastodon-api-2.0.0/lib/mastodon/rest/utils.rb:18:in `perform_request_with_object'
4: from /usr/home/gregory/.gem/ruby/2.7/gems/mastodon-api-2.0.0/lib/mastodon/rest/utils.rb:10:in `perform_request'
3: from /usr/home/gregory/.gem/ruby/2.7/gems/mastodon-api-2.0.0/lib/mastodon/rest/request.rb:26:in `perform'
2: from /usr/local/lib/ruby/2.7/forwardable.rb:229:in `empty?'
1: from /usr/home/gregory/.gem/ruby/2.7/gems/http-3.3.0/lib/http/response/body.rb:52:in `to_s'
/usr/home/gregory/.gem/ruby/2.7/gems/http-3.3.0/lib/http/response/body.rb:52:in `force_encoding': can't modify frozen String: "" (Froz
enError)
L'origine du bug vient de Ruby. Une correction a déjà été apportée mais les gems concernées doivent se mettre à jour. Ce qui n'est pas le cas de celle-ci.
Un fix a été apporté par un contributeur sur GitHub, mais pas intégré à ce jour dans la gem. Pour en profiter, il faut créer la gem depuis le dépôt Git.
Cloner le dépôt
git clone https://github.com/tootsuite/mastodon-api.git
Se positionner sur le bon commit
cd mastodon-api
git checkout 60b0ed0
Installer les dépendances
Voir le fichier Gemfile.
Dans mon cas, installation côté user uniquement.
gem install --user-install rake yard rspec fuubar rubocop simplecov timecop webmock yardstick
Construire la gem
rake build mastodon.gemspec
mastodon-api 2.0.0 built to pkg/mastodon-api-2.0.0.gem.
Installer la gem
Dans mon cas, installation côté user uniquement.
gem install --user-install pkg/mastodon-api-2.0.0.gem
Tags : mastodon api ruby git github