Module: Virtus
- Defined in:
- lib/virtus.rb,
lib/virtus/model.rb,
lib/virtus/builder.rb,
lib/virtus/coercer.rb,
lib/virtus/version.rb,
lib/virtus/attribute.rb,
lib/virtus/extensions.rb,
lib/virtus/value_object.rb,
lib/virtus/attribute_set.rb,
lib/virtus/class_methods.rb,
lib/virtus/configuration.rb,
lib/virtus/attribute/hash.rb,
lib/virtus/support/options.rb,
lib/virtus/attribute/strict.rb,
lib/virtus/class_inclusions.rb,
lib/virtus/instance_methods.rb,
lib/virtus/attribute/boolean.rb,
lib/virtus/attribute/builder.rb,
lib/virtus/attribute/coercer.rb,
lib/virtus/module_extensions.rb,
lib/virtus/support/equalizer.rb,
lib/virtus/attribute/accessor.rb,
lib/virtus/attribute/coercible.rb,
lib/virtus/support/type_lookup.rb,
lib/virtus/attribute/collection.rb,
lib/virtus/builder/hook_context.rb,
lib/virtus/attribute/lazy_default.rb,
lib/virtus/attribute/default_value.rb,
lib/virtus/attribute/embedded_value.rb,
lib/virtus/const_missing_extensions.rb,
lib/virtus/attribute/default_value/from_symbol.rb,
lib/virtus/attribute/default_value/from_callable.rb,
lib/virtus/attribute/default_value/from_clonable.rb
Overview
Builds a module for…modules
Defined Under Namespace
Modules: ClassInclusions, ClassMethods, ConstMissingExtensions, Extensions, InstanceMethods, Model, ModuleExtensions, Options, TypeLookup, ValueObject Classes: Attribute, AttributeSet, Builder, Coercer, CoercionError, Configuration, Equalizer, ModelBuilder, ModuleBuilder, PendingAttribute, TypeDefinition, ValueObjectBuilder
Constant Summary collapse
- EXTRA_CONST_ARGS =
(RUBY_VERSION < '1.9' ? [] : [ false ]).freeze
- Undefined =
Object.new.freeze
- VERSION =
'1.0.4'.freeze
Class Method Summary collapse
- .coerce ⇒ Object
- .coerce=(value) ⇒ Object
- .coercer(&block) ⇒ Object
- .config {|configuration| ... } ⇒ Object
-
.configuration ⇒ Object
private
Global configuration instance.
-
.finalize ⇒ Array
Finalize pending attributes.
- .model(options = {}, &block) ⇒ Object
- .module(options = {}, &block) ⇒ Object
-
.value_object(options = {}, &block) ⇒ Module
Builds a module for value object models.
- .warn(msg) ⇒ Object private
Class Method Details
.coerce ⇒ Object
109 110 111 |
# File 'lib/virtus.rb', line 109 def self.coerce configuration.coerce end |
.coerce=(value) ⇒ Object
99 100 101 102 |
# File 'lib/virtus.rb', line 99 def self.coerce=(value) configuration.coerce = value self end |
.coercer(&block) ⇒ Object
88 89 90 |
# File 'lib/virtus.rb', line 88 def self.coercer(&block) configuration.coercer(&block) end |
.config {|configuration| ... } ⇒ Object
123 124 125 126 |
# File 'lib/virtus.rb', line 123 def self.config(&block) yield configuration if block_given? configuration end |
.configuration ⇒ 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.
Global configuration instance
@ return [Configuration]
206 207 208 |
# File 'lib/virtus.rb', line 206 def self.configuration @configuration ||= Configuration.new end |
.finalize ⇒ Array
Finalize pending attributes
230 231 232 233 234 |
# File 'lib/virtus.rb', line 230 def self.finalize Builder.pending.each do |klass| klass.attribute_set.finalize end end |
.model(options = {}, &block) ⇒ Object
151 152 153 |
# File 'lib/virtus.rb', line 151 def self.model( = {}, &block) ModelBuilder.call(, &block) end |
.module(options = {}, &block) ⇒ Object
177 178 179 |
# File 'lib/virtus.rb', line 177 def self.module( = {}, &block) ModuleBuilder.call(, &block) end |
.value_object(options = {}, &block) ⇒ Module
Builds a module for value object models
197 198 199 |
# File 'lib/virtus.rb', line 197 def self.value_object( = {}, &block) ValueObjectBuilder.call(, &block) end |
.warn(msg) ⇒ 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.
237 238 239 |
# File 'lib/virtus.rb', line 237 def self.warn(msg) Kernel.warn(msg) end |