Class: Compony::VirtualModel
- Inherits:
-
ActiveType::Object
- Object
- ActiveType::Object
- Compony::VirtualModel
- Includes:
- ActiveModel::Attributes, Anchormodel::ModelMixin, ModelMixin
- Defined in:
- lib/compony/virtual_model.rb
Instance Method Summary collapse
-
#attributes ⇒ Object
include ActiveModel::Attributesabove shadowsActiveType::VirtualAttributes#attributes, which would otherwise merge virtual columns into the returned hash.
Methods included from ModelMixin
#feasibility_messages, #feasible?, #field, #full_feasibility_messages
Instance Method Details
#attributes ⇒ Object
include ActiveModel::Attributes above shadows ActiveType::VirtualAttributes#attributes,
which would otherwise merge virtual columns into the returned hash. Without this restoration,
attributes declared via attribute :foo, :type (routed to at_attribute by ActiveType)
are written into @virtual_attributes but invisible to #attributes, breaking callers
that do model.attributes.slice(...) etc. Mirrors ActiveType::VirtualAttributes#attributes.
15 16 17 18 19 |
# File 'lib/compony/virtual_model.rb', line 15 def attributes self.class._virtual_column_names.each_with_object(super) do |name, attrs| attrs[name] = read_virtual_attribute(name) end end |