Dry-rb es una familia de bibliotecas Ruby para crear código ligero y escalable. Hemos revisado los componentes principales de dry-rb con ejemplos de código.
Dry-rb es una familia de bibliotecas Ruby diseñadas para crear código ligero, modular y escalable. En este artículo, revisaremos los componentes principales de dry-rb y veremos ejemplos de código para demostrar su funcionalidad.
Dry-Types
Dry-Types te permite definir y usar tipos de datos estrictos en Ruby. Esto hace que tu código sea más confiable y comprensible. Aquí tienes un ejemplo:
require 'dry-types'
module Types
include Dry.Types()
end
class User
attr_reader :name, :age
def initialize(name, age)
@name = Types::Strict::String[name]
@age = Types::Strict::Integer[age]
end
end
user = User.new("John Doe", 30)
puts user.name # "John Doe"
puts user.age # 30
Dry-Struct
Dry-Struct es una forma sencilla y ligera de definir estructuras de datos con tipado estricto. Ayuda a evitar mutaciones no deseadas de objetos y proporciona un acceso sencillo a los atributos. Aquí tienes un ejemplo:
require 'dry-struct'
module Types
include Dry.Types()
end
class Point < Dry::Struct
attribute :x, Types::Strict::Integer
attribute :y, Types::Strict::Integer
end
point = Point.new(x: 10, y: 20)
puts point.x # 10
puts point.y # 20
Dry-Validation
Dry-Validation proporciona una forma declarativa de verificar datos y validar parámetros de entrada. Ayuda a gestionar validaciones complejas y proporciona una fácil integración con otras herramientas de verificación de datos. Aquí tienes un ejemplo:
require 'dry-validation'
schema = Dry::Validation.Schema do
required(:name).filled(:string)
required(:age).filled(:integer, gt?: 18)
end
result = schema.call(name: "John Doe", age: 30)
puts result.success? # true
result = schema.call(name: "", age: 16)
puts result.success? # false
puts result.errors # { name: ["must be filled"], age: ["must be greater than 18"] }
Dry-rb ofrece una amplia gama de herramientas que ayudan a los desarrolladores a crear código Ruby más limpio, flexible y confiable.
En este artículo, hemos revisado brevemente dry-types, dry-struct y dry-validation, pero dry-rb también incluye otras bibliotecas, como dry-transaction y dry-view, que mejoran el desarrollo de software en diversas áreas.
Si quieres saber más sobre dry-rb, te recomiendo consultar su documentación oficial y empezar a usarlo en tus proyectos para lograr un mayor nivel de calidad de código.