Module: Castkit::DSL::DataObject::Introspection::IntrospectionHelpers
- Defined in:
- lib/castkit/dsl/data_object/introspection.rb
Overview
Class-level helpers that read from Cattri’s attribute registry but do not override Castkit’s attribute builder.
Instance Method Summary collapse
- #attribute_defined?(name) ⇒ Boolean
- #attribute_definitions(with_ancestors: false) ⇒ Object
- #attribute_methods ⇒ Object
- #attribute_source(name) ⇒ Object
Instance Method Details
#attribute_defined?(name) ⇒ Boolean
21 22 23 |
# File 'lib/castkit/dsl/data_object/introspection.rb', line 21 def attribute_defined?(name) !!cattri_attribute(name) end |
#attribute_definitions(with_ancestors: false) ⇒ Object
25 26 27 |
# File 'lib/castkit/dsl/data_object/introspection.rb', line 25 def attribute_definitions(with_ancestors: false) cattri_attribute_registry.defined_attributes(with_ancestors: with_ancestors) end |
#attribute_methods ⇒ Object
29 30 31 32 33 |
# File 'lib/castkit/dsl/data_object/introspection.rb', line 29 def attribute_methods cattri_attribute_registry.defined_attributes(with_ancestors: true).transform_values do |attribute| Set.new(attribute.allowed_methods) end end |
#attribute_source(name) ⇒ Object
35 36 37 |
# File 'lib/castkit/dsl/data_object/introspection.rb', line 35 def attribute_source(name) cattri_attribute(name)&.defined_in end |