Hanakai

Green, and Injectable

6 minute read

I wrote a test for the one thing I had never thought to check, and it failed. Nothing my application rendered had ever been escaped, on any page, while every...

Sold Separately

4 minute read

I typed t.timestamps into a Hanami migration out of twenty years of habit, and it blew up. Declaring the two columns by hand fixed that and fixed nothing, be...

One Layer Thick

4 minute read

I wrote the validations, the database had its constraints, and I assumed the two of them covered the ground between. Then I measured what each one actually r...

Declaring belongs_to Changed Nothing

3 minute read

Hanami has belongs_to, and it reads exactly like the Rails one. I declared it, ran my test again, and got a failure identical to the one I had before declari...

Ask Hanami for the Model, Get Four Objects

4 minute read

There is no model generator in Hanami, and no scaffold either. What Rails calls a model turns out to be four separate jobs, and the framework makes you say w...

Hanami Froze the Door I Always Use

4 minute read

I am building a real app in Hanami 3 with twenty years of Rails habits, on purpose, to find out where those habits stop working. The very first one broke ins...

Hanakai, and Hanami 3.0 in Full Bloom

3 minute read

Hanami, dry and rom have joined forces as Hanakai, a single family of Ruby tools. The first release under that banner is Hanami 3.0: built-in mailers and i18...