awesome-repositories.com
المدونة
awesome-repositories.com

اكتشف أفضل مستودعات المصادر المفتوحة باستخدام بحث مدعوم بالذكاء الاصطناعي.

استكشفعمليات بحث منسقةبدائل مفتوحة المصدربرمجيات ذاتية الاستضافةالمدونةخريطة الموقع
المشروعحولكيفية ترتيب النتائجالصحافةخادم MCP
قانونيالخصوصيةالشروط
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
solnic avatar

solnic/virtus

0
View on GitHub↗
3,746 نجوم·228 تفرعات·Ruby·MIT·3 مشاهدات

Virtus

Virtus is a Ruby attribute management and data coercion library used to define object schemas with typed attributes. It functions as a tool for transforming nested JSON structures and complex input formats into structured internal Ruby data types.

The project provides a framework for creating value objects that are compared by their attribute values rather than memory identity. It allows for the mapping of complex external data into domain objects and supports the implementation of custom coercion logic to ensure data consistency.

The library covers data modeling through schema-driven attribute definitions and type casting. It includes capabilities for strict type validation to enforce data integrity and writer-access control to restrict the modification of an object's internal state.

Features

  • Attribute Management Libraries - Provides a comprehensive system for defining object schemas with typed attributes and controlled writer access.
  • Object Schema Definitions - Implements a system for defining object properties with explicit types to ensure structured interface definitions.
  • Typed Object Attributes - Assigns specific types to attributes to create a structured schema and ensure data consistency.
  • Data Type Coercion - Allows the implementation of custom coercion logic to transform specific input formats into target data types.
  • API-to-Domain Mapping - Transforms complex external data and nested JSON structures into structured internal domain objects.
  • Attribute Value Converters - Converts input values into target types automatically during the assignment of values to class attributes.
  • User-Defined Types - Enables the definition of custom data types for attributes to maintain consistent data structures.
  • Type Validity Enforcers - Triggers exceptions when an input value cannot be converted into the defined attribute type to ensure integrity.
  • Strict Type Enforcement - Enforces data integrity by raising exceptions when input values cannot be successfully converted to the target type.
  • Automatic Type Converters - Automatically transforms input data into target types to maintain type safety and data integrity.
  • Data Type Conversions - Automates the conversion of values into target types or triggers errors when conversion fails in strict mode.
  • Runtime - Transforms nested JSON and complex input formats into structured internal Ruby data types.
  • User-Defined Types - Specifies expected data types for attributes to ensure consistent structures across all instantiated objects.
  • Object-to-Data Mapping Frameworks - Maps raw JSON and nested structures into typed domain objects to decouple external data from internal logic.
  • Data Modeling Libraries - Allows defining object schemas with typed attributes to ensure consistent data structures across the application.
  • Value Objects - Implements immutable value objects that are compared by their internal attribute values rather than memory identity.
  • Nested Data Transformers - Provides utilities for recursively transforming nested JSON and hash structures into hierarchical domain objects.
  • Type Coercion Utilities - Automatically converts input data into specified target types during attribute assignment using internal transformation logic.
  • Complex Type Coercion - Converts input data into structured formats like typed arrays, hashes, or nested objects.
  • Writer Access Restrictions - Restricts the visibility of attribute setter methods to prevent external modification of an object's internal state.
  • Writer Visibility Controls - Limits the visibility of attribute writers to prevent external modification of the internal object state.
  • Strict Type Validation - Enforces data integrity by triggering exceptions when input values cannot be converted to the defined attribute type.
  • Core Extensions - Adds attribute modeling to plain Ruby objects.

سجل النجوم

مخطط تاريخ النجوم لـ solnic/virtusمخطط تاريخ النجوم لـ solnic/virtus

بحث بالذكاء الاصطناعي

استكشف المزيد من المستودعات الرائعة

صف ما تحتاجه بلغة بسيطة — وسيقوم الذكاء الاصطناعي بترتيب آلاف المشاريع مفتوحة المصدر المنسقة حسب الصلة.

Start searching with AI

بدائل مفتوحة المصدر لـ Virtus

مشاريع مفتوحة المصدر مشابهة، مرتبة حسب عدد الميزات المشتركة مع Virtus.
  • hapijs/joiالصورة الرمزية لـ hapijs

    hapijs/joi

    21,192عرض على GitHub↗

    Joi is a JavaScript data validation library used to define schemas that validate, cast, and sanitize data objects. It functions as an object schema validator and parser, ensuring that input data matches specific types and formats before it is processed by an application. The library features a conditional validation engine capable of dynamic schema enforcement, where validation logic and dependencies change based on the values of other keys within an object. It also serves as a data casting and sanitization tool, transforming input values into target types and removing sensitive keys from the

    JavaScripthapijavascriptschema
    عرض على GitHub↗21,192
  • symfony/serializerالصورة الرمزية لـ symfony

    symfony/serializer

    2,547عرض على GitHub↗

    This library is a PHP-based serialization framework designed to convert complex object graphs into structured formats such as JSON, XML, YAML, and CSV, and to reconstruct those objects from serialized data. It functions as a data transformation tool that maps object properties to array structures, facilitating both application state persistence and the exchange of data between systems. The framework distinguishes itself through a two-stage pipeline that normalizes objects into intermediate structures before encoding them into specific formats. It supports advanced mapping requirements, includ

    PHPcomponentphpsymfony
    عرض على GitHub↗2,547
  • rust-lang/rust-by-exampleالصورة الرمزية لـ rust-lang

    rust-lang/rust-by-example

    8,026عرض على GitHub↗

    This project is an interactive programming education resource and tutorial designed for learning the Rust programming language and systems programming concepts. It provides a collection of runnable and editable code examples that serve as a practical reference for language syntax and implementation. The resource features an interactive code sandbox that allows users to execute and test code snippets in real time. It emphasizes the verification of technical accuracy by executing embedded code blocks during the build process to ensure all examples remain functional. The content covers a compre

    Handlebars
    عرض على GitHub↗8,026
  • ballercat/waltالصورة الرمزية لـ ballercat

    ballercat/walt

    4,639عرض على GitHub↗

    Walt is a transpiler and typed language that converts a JavaScript-like syntax into WebAssembly binary format. It functions as a toolchain for developing high-performance logic for browsers and runtimes by translating typed source code into WebAssembly text format. The project includes a bundler-integrated loader that automates the recompilation of source files during the build process. It provides a linear memory manager used to define custom data layouts, structs, and memory allocators within a contiguous heap. The language supports defined function signatures, numeric types, and the abili

    JavaScriptcompilerjavascriptwebassembly
    عرض على GitHub↗4,639
عرض جميع البدائل الـ 30 لـ Virtus→

الأسئلة الشائعة

ما هي وظيفة solnic/virtus؟

Virtus is a Ruby attribute management and data coercion library used to define object schemas with typed attributes. It functions as a tool for transforming nested JSON structures and complex input formats into structured internal Ruby data types.

ما هي الميزات الرئيسية لـ solnic/virtus؟

الميزات الرئيسية لـ solnic/virtus هي: Attribute Management Libraries, Object Schema Definitions, Typed Object Attributes, Data Type Coercion, API-to-Domain Mapping, Attribute Value Converters, User-Defined Types, Type Validity Enforcers.

ما هي البدائل مفتوحة المصدر لـ solnic/virtus؟

تشمل البدائل مفتوحة المصدر لـ solnic/virtus: hapijs/joi — Joi is a JavaScript data validation library used to define schemas that validate, cast, and sanitize data objects. It… symfony/serializer — This library is a PHP-based serialization framework designed to convert complex object graphs into structured formats… rust-lang/rust-by-example — This project is an interactive programming education resource and tutorial designed for learning the Rust programming… mantle/mantle — Mantle is a framework for mapping raw data structures and JSON into typed model objects for Cocoa and Cocoa Touch… ballercat/walt — Walt is a transpiler and typed language that converts a JavaScript-like syntax into WebAssembly binary format. It… jsonmodel/jsonmodel — JSONModel is a data modeling framework and serialization library for Apple platforms, including iOS, macOS, watchOS,…