dry-struct VS portrayal

Compare dry-struct vs portrayal and see what are their differences.

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
dry-struct portrayal
- 1
402 67
0.5% -
5.3 4.5
4 months ago 9 months ago
Ruby Ruby
MIT License Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

dry-struct

Posts with mentions or reviews of dry-struct. We have used some of these posts to build our list of alternatives and similar projects.

We haven't tracked posts mentioning dry-struct yet.
Tracking mentions began in Dec 2020.

portrayal

Posts with mentions or reviews of portrayal. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-23.
  • An Overview of Ruby on Rails 7.1 Features. Part III
    4 projects | news.ycombinator.com | 23 Jan 2023
    I've been had great success building form objects with portrayal (https://github.com/scottscheapflights/portrayal) and ActiveModel. You can put validations into them, use them as form objects. Auto-filter the params based on class-level `portrayal.attributes` by making a `from_params`-type constructor. You're right that it'd be nice to have this out of the box, but this is just a few lines of glue code to setup. I'm in process of working on a new app template that does that.

What are some alternatives?

When comparing dry-struct and portrayal you can also consider the following projects:

ActiveAttr - What ActiveModel left out

alba - Alba is a JSON serializer for Ruby, JRuby and TruffleRuby.

ContractedValue - Library for creating contracted immutable(by default) value objects

Grape - An opinionated framework for creating REST-like APIs in Ruby.

dry-validation - Validation library with type-safe schemas and rules

motion - Reactive frontend UI components for Rails in pure Ruby

hash_to_struct - It enables recursive conversion of a ruby Hash to a Struct-like object and back.

authentication-zero - An authentication system generator for Rails applications.

sorbet-typed - A central repository for sharing type definitions for Ruby gems

railsdiff - What you should change about your app's configuration when upgrading Rails versions

ALX - ALX is a command line tool for Linux, macOS and Windows to export and import the game data of Skies of Arcadia, Skies of Arcadia Legends, Eternal Arcadia (エターナルアルカディア), and Eternal Arcadia Legends (エターナルアルカディアレジェンド).

dry-types - Flexible type system for Ruby with coercions and constraints