Yaro Shm πŸ‡ΊπŸ‡¦ :ruby: SupeRails

🌍 I hope to meet you in person on a Ruby conference somewhere!

I speak πŸ‡ΊπŸ‡¦πŸ‡¬πŸ‡§πŸ‡΅πŸ‡±πŸ‡«πŸ‡·πŸ‡©πŸ‡ͺπŸ‡ͺπŸ‡Έ fluently. Ask me why :)

From Ukraine, Chernihiv

Yaro Shm πŸ‡ΊπŸ‡¦ :ruby: SupeRailsyarotheslav@ruby.social
2025-03-13

Access & edit Rails encrypted credentials in different code editors:

rails credentials
Yaro Shm πŸ‡ΊπŸ‡¦ :ruby: SupeRailsyarotheslav@ruby.social
2025-03-11

Hotwire Native Rails is now Tailwind 4 compatible! πŸŽ‰πŸ₯³

Biggest change - how you define custom variants in V3 vs V4

This let's you to apply classes like

<div class="hotwire-native:bg-black non-hotwire-native:bg-white">

github.com/yshmarov/hotwire_na

hotwire native tailwind 4 ok
Yaro Shm πŸ‡ΊπŸ‡¦ :ruby: SupeRailsyarotheslav@ruby.social
2025-02-02

Time to upgrade to Tailwind 4! ✨

βœ… Troubleshoot & run upgrade tool
βœ… Fix tailwind:watch
βœ… Fix aspect ratio, dialogs, opacity, etc
πŸ₯³ remote tailwind.config.js

Watch here:
superails.com/posts/tailwind-4

Tailwind 4
Yaro Shm πŸ‡ΊπŸ‡¦ :ruby: SupeRailsyarotheslav@ruby.social
2025-02-01

@bradbury @lazaronixon my two go-to username-password auth solutions these days are devise (if I don't plan to override a lot) and authentication-zero (If I want something very tailored).
Rails 8 authentication is far from being production-ready

Yaro Shm πŸ‡ΊπŸ‡¦ :ruby: SupeRailsyarotheslav@ruby.social
2025-01-31

🀐Youtube and Vimeo have public, unrestricted endpoint that lets you get any video attributes (title, author, thumbnail, embed_html, etc)

It is super useful if you want to allow users embed rich media into your app.

Watch SupeRails #227:
superails.com/posts/oembed-226

oEmbed
Yaro Shm πŸ‡ΊπŸ‡¦ :ruby: SupeRailsyarotheslav@ruby.social
2025-01-27

These VS Code plugins make the development experience for me and everybody on my team much better

βœ… See how each extension works
βœ… Learn to configure extensions

Watch here:
superails.com/posts/best-vs-co

Yaro Shm πŸ‡ΊπŸ‡¦ :ruby: SupeRailsyarotheslav@ruby.social
2025-01-26

Busy weekend! Just upgraded my longest-running Rails app (started on Rails 4) from Rails 7.2 to Rails 8.

And published v1100 of the app to production! πŸ₯³

Super smooth upgrade.

Only small inconvenience that I had to dig into - manually add "net-protocol" for "net-smtp"

Yaro Shm πŸ‡ΊπŸ‡¦ :ruby: SupeRailsyarotheslav@ruby.social
2025-01-26

Usually running "rails app:update" creates a lot of conflicts in my ENV files.

Exploring the @bullettrainco codebase, I found this line in each ENV initializer.

As of now, I set my configs at the end of the file, instead of overriding defaults. Easier to upgrade & see changes

Yaro Shm πŸ‡ΊπŸ‡¦ :ruby: SupeRailsyarotheslav@ruby.social
2025-01-23

Does anybody here use Typesense in production?

Yaro Shm πŸ‡ΊπŸ‡¦ :ruby: SupeRailsyarotheslav@ruby.social
2025-01-22

In the life of a man, there comes a moment when he needs to scale his search

Not handling petabytes of data? No need for Elasticsearch

Typesense is powerful, open-source, easy to sync with Rails & deploy

Here's how I add full-text typo-tolerant search server to Rails

superails.com/posts/typesense-

#rubyonrails #typesense #rails

Typesense Rails
Yaro Shm πŸ‡ΊπŸ‡¦ :ruby: SupeRailsyarotheslav@ruby.social
2025-01-15

How to abstract, store, edit global app settings?

I think gem rails-settings cached is great:

βœ… one tiny db table

βœ… admin UI

βœ… define fields, validations, defaults

βœ… you can use it before Rails is initialized

See how I use it:

superails.com/posts/gem-rails-

#rubyonrails

Yaro Shm πŸ‡ΊπŸ‡¦ :ruby: SupeRailsyarotheslav@ruby.social
2025-01-08

Here's the whole process of converting a Rails app to Hotwire Native iOS with all the powerful features and Bridge Components from gem hotwire_native_rails:
superails.com/posts/gem-hotwir

#rubyonrails #hotwirenative

gem hotwire_native_rails
Yaro Shm πŸ‡ΊπŸ‡¦ :ruby: SupeRailsyarotheslav@ruby.social
2025-01-04

WHATTTT?
SupeRails Office Hours #1: Hotwire Hotline

We'll discuss Hotwire, you can ask any questions.

πŸ“† Tuesday, January 7, 7:00pm GMT+1
πŸ“Zoom
πŸ“©Registration (limited to 10 people): lu.ma/7zm353yg

#rubyonrails #hotwire

Hotwire Hotline
Yaro Shm πŸ‡ΊπŸ‡¦ :ruby: SupeRailsyarotheslav@ruby.social
2024-12-21

🚨In exactly 60 minutes (19:00 Paris time) I will host a free Workshop🚨

Topic: Hotwire Native + Rails = gem hotwire_native_rails

It's a meeting (not recording), so you can ask questions! πŸŽ™οΈπŸŽ™οΈ

Join Here: us06web.zoom.us/j/87254337036
Password: hotwire

#rubyonrails #ruby #hotwire #hotwirenative

Yaro Shm πŸ‡ΊπŸ‡¦ :ruby: SupeRailsyarotheslav@ruby.social
2024-12-17

Literally the easiest way to add hotkeys to your app with StimulusJS

stimulus hotkeys code
Yaro Shm πŸ‡ΊπŸ‡¦ :ruby: SupeRailsyarotheslav@ruby.social
2024-12-16

In the previous episode I talked about creating an internal app that would use ONLY @avo_hq
Let's try adding AVO as an admin backend to an existing Rails app superails.com/posts/add-avo-to

#rubyonrails

avo 218
Yaro Shm πŸ‡ΊπŸ‡¦ :ruby: SupeRailsyarotheslav@ruby.social
2024-12-15

Can we make it to 10,000 subscribers before 2025? πŸŽ„πŸŽ…πŸŽ
youtube.com/channel/UCyr6ZTmzt

SupeRails has NEARLY 10k friends!
Yaro Shm πŸ‡ΊπŸ‡¦ :ruby: SupeRailsyarotheslav@ruby.social
2024-12-09

User.rb
validates :email, presence: true
⬇️
For most users, Github oAuth does not share user email by default.
⬇️
User creation via Github oAuth will often fail, if you don't explicitly require user email in oAuth settings
⬇️

Yaro Shm πŸ‡ΊπŸ‡¦ :ruby: SupeRailsyarotheslav@ruby.social
2024-12-08

No matter how good you are, rolling out your own subscription engine from zero does not make sense.

Don't reinvent the wheel.

I've just replaced my own subscription engine with gem "pay". It's really good, and more maintainable long-term.

Final touch - running background jobs to sync subscriptions from Stripe to tables in my app! πŸ’…

Yaro Shm πŸ‡ΊπŸ‡¦ :ruby: SupeRailsyarotheslav@ruby.social
2024-12-05

If you want to build an Internal tool or Admin dashboard in Ruby on Rails, there is no better tool than Avo.

I add Avo to all my apps and it just works for admin stuff πŸ™Œ

Here's how you can get started building an internal, invite-only app:
superails.com/posts/avo-intern

P.S. 😘 @adrian

avo internal tool

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst