Alemaño
banner
elalemanyo.bsky.social
Alemaño
@elalemanyo.bsky.social
Full-Stack Web Developer at @DotRubyDev 🧱 http://RailsbootUI.com Rails View Components for Bootstrap
Needed a helper to find the next occurrence of a date (birthdays, holidays, etc.), so I built it.
Now it’s an open @rubyonrails.org.web.brid.gy PR: Date.upcoming_date(month, day) 🎉
Proud to give back to the open-source community that gives us so much ❤️
Hope it gets merged 🤞
t.co/XD0hlDYenB
October 16, 2025 at 11:02 AM
Just launched a little side tool 🚀
Test XPath expressions against HTML snippets right in the browser.
Built with Rails + Nokogiri, CodeMirror, and Catppuccin ✨
Perfect for experimenting with XPath expressions 🧪

👉 www.dotruby.com/tools/xpath-...
XPath Playground | DotRuby
Test XPath expressions against HTML snippets.
www.dotruby.com
September 22, 2025 at 10:48 AM
Inspired by @donnfelker.bsky.social’s Stimulus controllers for Lexxy, I built one that adds file type and size validation directly in the editor.

Big thanks to @jorgemanru and the @basecamp team 🙌

Full write-up 👉 www.dotruby.com/articles/add...
Adding File Validation to Lexxy Editor with Stimulus
A simple Stimulus controller to validate attachments in the Lexxy editor — restricting file types and sizes before they get uploaded.
www.dotruby.com
September 18, 2025 at 8:09 AM
You don't actually need Ruby installed to work with Rails locally 🤯
I wrote about this odd idea: “Rails without Ruby”

👉 dotruby.com/articles/rai...
Rails Without Ruby
Yes, you can run Rails without installing Ruby. With VS Code devcontainers, your whole Rails setup lives inside Docker — no version managers, no sy...
dotruby.com
September 10, 2025 at 3:07 PM
Need an extra email address but don't want to create a new account?
Most providers support plus addressing → just add +something before the @.

All emails still arrive in your inbox, and you can filter them easily.

Example: bob+needanothermail@gmail.com 📬
August 26, 2025 at 7:26 AM
Redesigning a Rails app? 🚀
We discovered an underrated feature: :variants.
With just one magic suffix you can run old & new layouts in parallel — no JS, no cookies, just Rails ✨
Full write-up 👉 dotruby.com/articles/eas...
Easy Redesign in Rails: Run Old and New Side by Side with :variants
Rails variants are usually used to serve different views for devices — but you can use them for much more, like running a redesign side by side.
dotruby.com
August 25, 2025 at 1:01 PM
Discovered a neat trick in the turbo_power gem by @marcoroth.dev 💡
turbo_stream.toggle_css_class supports force:, just like the DOM API.
No need for manual logic — may the force: be with you 🛸✨
August 14, 2025 at 11:04 AM
HexaPDF gem from @gettalong.bsky.social made it super easy to add PDF form filling to our rails app 🙌

The hardest part? Finding the PDF form field names 🤯
We wanted to give back, so we built a tool to list them all:
dotruby.com/tools/hexapd...

Drag a PDF → see all field names → done ✅
August 11, 2025 at 11:24 AM
🚨 Rails tip: Appending query params with concat or + "?..." can break your URLs — especially if the URL already includes parameters.

Instead of risking invalid or double ?s, use a proper helper that merges params safely. 👇
August 7, 2025 at 8:49 AM
💡 I needed to check if a string is a valid app path in my Rails app — surprisingly, couldn’t find a built-in way.

So I wrote a small helper method.
Sharing in case it helps someone — or if there’s a better way? 🤔👇
August 7, 2025 at 8:13 AM
I remembered today and thought I'd share:
You can use .many? instead of count > 1 — more readable and sometimes faster!

💡 On relations: uses LIMIT 2
⚠️ On associations: loads all records
July 31, 2025 at 9:52 AM
Anchor links not scrolling correctly in your Rails app?
Turbo Drive intercepts clicks and replaces page content via fetch (not a full page reload) — and that breaks native #anchor scrolling.
Fix it with data-turbo="false"
Tamed the Turbo — anchor away! ⚓
June 30, 2025 at 4:42 PM
Just discovered you can add an if after a content_tag block in Rails views — way cleaner than wrapping the whole thing!
Always finding little gems in ERB 💎😍
June 26, 2025 at 9:41 AM
Pluralizing model names in Rails with proper i18n — there's a helper for that.
I wrote a small helper that uses model_name.human(count: ...) to do it the right way — fully i18n-ready.
Simple, readable, and it works with any model as long as it's been translated 😉
June 5, 2025 at 3:01 PM
💡 Clean Rails views with conditional wrapping?

Use conditional_tag to wrap content in a tag only if a condition is true.

No more messy if blocks in ERB. Just clean, readable templates.

Discovered this gem thanks to @scarfacedeb 🙌
June 5, 2025 at 2:59 PM
Nobody likes to pack — not IRL, not on GitHub. 🧳

So I built github-repo-manager:
For when you're leaving a GitHub org and want to take all your repos without the manual drag-n-drop drama.

One script. No cardboard boxes. 🐙💼
github.com/elalemanyo/g...
May 21, 2025 at 10:02 PM
💡 Want your Rails app to teach you something new every time it boots?
Check out get-smart by igorkasyanchuk — it shows handy Ruby & Rails tips during startup.
A clever gem with a thoughtful touch 💎✨
github.com/igorkasyanch...
GitHub - igorkasyanchuk/get-smart: Learn Ruby/Rails topics during your app’s boot time.
Learn Ruby/Rails topics during your app’s boot time. - igorkasyanchuk/get-smart
github.com
May 19, 2025 at 12:29 PM
Reposted by Alemaño
I released version 0.4.0 of active_hashcash. Thanks to @ivanverges.bsky.social and @elalemanyo.bsky.social for their contributions.

ActiveHashcash protects Rails applications against bots and brute force attacks without annoying humans.

github.com/BaseSecrete/...
Release v0.4.0 · BaseSecrete/active_hashcash
What's Changed Prevent from password managers to submit the form before the stamp has been computed Added support for the "button" submit form tag Added Catalan language Added base_controller_clas...
github.com
May 16, 2025 at 9:21 AM
💡 Turbo Tip: Preserve search state and update the browser's URL when paginating within a by adding data-turbo-action="advance".

This promotes frame navigation to a full page visit, enhancing user experience.

📖 Learn more:
turbo.hotwired.dev/handbook/fra...
April 17, 2025 at 3:19 PM
make any ssh server feel like home 🏡

add this to your VS Code settings:
"remote.SSH.defaultExtensions"

now it auto-installs your favorite extensions when you connect
no more bare-bones VS Code sessions 🫠
April 16, 2025 at 1:38 PM
Need a quick user icon but don't use an icon set?
Just write Do and rotate it 90°
Boom 💥 You've got a minimalist one
Genius idea from @lopezcodes.bsky.social 👏
April 11, 2025 at 10:12 AM
Just discovered CodeSwing — 🔥 VS Code extension for building live HTML/CSS/JS demos right inside the editor.
Made by github.com/lostintangent, who's behind lots of awesome dev tools. Definitely worth a follow!
github.com/lostintangen...
GitHub - lostintangent/codeswing: VS Code extension for building web applications ("swings") using a interactive and editor-integrated coding environment
VS Code extension for building web applications ("swings") using a interactive and editor-integrated coding environment - lostintangent/codeswing
github.com
April 7, 2025 at 9:13 AM
Reposted by Alemaño
Here are just some highlights from All About Code and Ruby section from:
@andycroll.bsky.social @coolprobn.bsky.social @hansschnedlitz.com @RubyCademy @elalemanyo.bsky.social @David Heinemeier Hansson

But there are much more code samples to be inspired and write beautiful #Ruby
April 7, 2025 at 8:44 AM
Ever forget how @github.com-flavored markdown does callouts?
Same 😅

Now I just type :note, :tip, :warning, etc. and espanso.org fills it in for me ✨

Thanks terzi_federico for making this possible 🙌
April 2, 2025 at 8:17 AM
Found a good way to check if a file was newly attached in Rails
For has_one_attached or has_many_attached

Hope this helps someone save time! 👇
March 31, 2025 at 9:43 PM