Module: Castkit
- Defined in:
- lib/castkit.rb,
lib/castkit/error.rb,
lib/castkit/castkit.rb,
lib/castkit/version.rb,
lib/castkit/attribute.rb,
lib/castkit/validator.rb,
lib/castkit/serializer.rb,
lib/castkit/data_object.rb,
lib/castkit/configuration.rb,
lib/castkit/default_serializer.rb,
lib/castkit/attribute_extensions/access.rb,
lib/castkit/validators/string_validator.rb,
lib/castkit/attribute_extensions/casting.rb,
lib/castkit/attribute_extensions/options.rb,
lib/castkit/validators/numeric_validator.rb,
lib/castkit/data_object_extensions/config.rb,
lib/castkit/attribute_extensions/validation.rb,
lib/castkit/data_object_extensions/attributes.rb,
lib/castkit/attribute_extensions/serialization.rb,
lib/castkit/attribute_extensions/error_handling.rb,
lib/castkit/data_object_extensions/attribute_types.rb,
lib/castkit/data_object_extensions/deserialization.rb
Overview
Castkit is a lightweight, type-safe data object system for Ruby.
It provides a declarative DSL for defining DTOs with typecasting, validation, access control, serialization, deserialization, and OpenAPI-friendly schema generation.
Defined Under Namespace
Modules: AttributeExtensions, DataObjectExtensions, Validators Classes: Attribute, AttributeError, Configuration, DataObject, DataObjectError, DefaultSerializer, Error, SerializationError, Serializer, Validator
Constant Summary collapse
- VERSION =
"0.1.1"
Class Method Summary collapse
-
.configuration ⇒ Castkit::Configuration
Retrieves the global Castkit configuration.
-
.configure {|config| ... } ⇒ void
Yields the global configuration object for customization.
- .dataobject?(obj) ⇒ Boolean
Class Method Details
.configuration ⇒ Castkit::Configuration
Retrieves the global Castkit configuration.
36 37 38 |
# File 'lib/castkit/castkit.rb', line 36 def configuration @configuration ||= Configuration.new end |
.configure {|config| ... } ⇒ void
This method returns an undefined value.
Yields the global configuration object for customization.
29 30 31 |
# File 'lib/castkit/castkit.rb', line 29 def configure yield(configuration) end |
.dataobject?(obj) ⇒ Boolean
40 41 42 |
# File 'lib/castkit/castkit.rb', line 40 def dataobject?(obj) obj.is_a?(Class) && obj.ancestors.include?(Castkit::DataObject) end |