Steve Polito Profile picture
Apr 5 โ€ข 3 tweets โ€ข 2 min read
I'm exploring how to send secure messages in #rails with ActiveSupport::MessageVerifier.

What makes the message secure?

๐Ÿ” It's not stored in the database
๐Ÿ”— The URL expires, cannot be tampered with, and is non-sequential.

Code snippets in ๐Ÿงต
Using ActiveModel gives us a nice API to work with, without needing to save the record to the database.
We can then convert an instance of that model into a secure message generated with ActiveSupport::MessageVerifier.

โ€ข โ€ข โ€ข

Missing some Tweet in this thread? You can try to force a refresh
ใ€€

Keep Current with Steve Polito

Steve Polito Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @stevepolitodsgn

Mar 14
Have you ever needed to get the most recent record for each user in #rails, but didn't know how to do it without using map?

Here's one way to do it with Active Record ๐Ÿ‘‡
Calling group(:user_id).minimum(:id) returns a hash where the key is the user_id and the value is the ID of their latest (or first) post. Calling .values simply returns the IDs.

We can then pass that list to where(id:) to return a list of the latest (or first) posts per user.
Since the IDs are set in sequential order, the minimum ID is the ID of the user's first post, and the maximum ID is the ID of the user's latest post.
Read 5 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(