tags: ruby

Meta de la configuration, illustré avec Elixir

La configuration des applications est un (non)sujet qui semble simple à première vue, mais qui n’est pas si bien maîtrisé par les développeurs juniors ou seniors. Build configuration vs Run configuration Attaquons par le fond du problème, sans tourner autour du pot. Il…

Rails 5 web console and Docker

If you use Rails 5 along docker for your development environment you may have seen something like this within your logs : Cannot render console from 172.17.0.x! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255 To allow your current docker network to access the web…

Initiation au développement de plugins Redmine

Redmine est un outil de gestion de projet que j’affectionne pour sa simplicité et son accessibilité. Dans sa version originale il permet de gérer un éventail très large de types de projets, pas uniquement a destination des équipes de développement, mais…

Archlinux, Rmagick and HDRI

Earlier versions of Rmagick will not compile with newer version of imagemagick with --enable-hdri compilaton flag. The first recommandation would be to upgrade your library to the newest version (=< 2.13.3), but for some reasons it is not possible. If you are…

Adavanced Rails authorizations with pundit

Pundit is a realy simple Ruby Gem, that does nothing more that you could have done yourself. Here is the power ! When updating to Rails 4 in it's early days, you had no compliant authorization solutions. Ryan Bates's Cancan was the…

Airbrake fix

After installing airbrake gem my collection's request Rspec.specs stoped working as expected. I encounterd this error: RuntimeError: can't add a new key into hash during iteration Since Ruby 1.9(.3?) you cant modify Hash within iteration (even if they are ordered). After some hours spent…

Disabling Rails sessions and airbrake gem

After installing airbrake gem and disabling your rails sessions (for example with the session_off gem), you may experiment this kind of errors : undefined method `data' for nil:NilClass This is because airbrake read the session.data property to send them to the server. Since…