Module: Virtus
- Defined in:
- lib/virtus.rb,
lib/virtus/class_methods.rb,
lib/virtus/attributes/date.rb,
lib/virtus/attributes/hash.rb,
lib/virtus/attributes/time.rb,
lib/virtus/attributes/array.rb,
lib/virtus/attributes/float.rb,
lib/virtus/instance_methods.rb,
lib/virtus/attributes/object.rb,
lib/virtus/attributes/string.rb,
lib/virtus/support/chainable.rb,
lib/virtus/attributes/boolean.rb,
lib/virtus/attributes/decimal.rb,
lib/virtus/attributes/integer.rb,
lib/virtus/attributes/numeric.rb,
lib/virtus/attributes/attribute.rb,
lib/virtus/attributes/date_time.rb,
lib/virtus/attributes/typecast/time.rb,
lib/virtus/attributes/typecast/numeric.rb
Defined Under Namespace
Modules: Attributes, ClassMethods, InstanceMethods, Support, Undefined
Class Method Summary collapse
-
.determine_type(class_or_name) ⇒ Class
Returns a Virtus::Attributes::Object sub-class based on a name or class.
-
.included(base) ⇒ Object
private
Extends base class with Attributes and Chainable modules.
Class Method Details
.determine_type(class_or_name) ⇒ Class
Returns a Virtus::Attributes::Object sub-class based on a name or class.
32 33 34 35 36 37 38 |
# File 'lib/virtus.rb', line 32 def determine_type(class_or_name) if class_or_name.is_a?(Class) && class_or_name < Attributes::Object class_or_name elsif Attributes.const_defined?(name = class_or_name.to_s) Attributes.const_get(name) end end |
.included(base) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Extends base class with Attributes and Chainable modules
17 18 19 20 21 |
# File 'lib/virtus.rb', line 17 def included(base) base.extend(ClassMethods) base.send(:include, InstanceMethods) base.extend(Support::Chainable) end |