Module: PropertySets
- Defined in:
- lib/property_sets.rb,
lib/property_sets/casting.rb,
lib/property_sets/version.rb,
lib/property_sets/delegator.rb,
lib/property_sets/property_set_model.rb,
lib/property_sets/active_record_extension.rb
Defined Under Namespace
Modules: ActiveRecordExtension, Casting, Delegator, PropertySetModel
Constant Summary collapse
- VERSION =
"3.5.1"
Class Method Summary collapse
Class Method Details
.ensure_property_set_class(association, owner_class_name) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/property_sets.rb', line 11 def self.ensure_property_set_class(association, owner_class_name) const_name = "#{owner_class_name}#{association.to_s.singularize.camelcase}".to_sym unless Object.const_defined?(const_name) property_class = Object.const_set(const_name, Class.new(ActiveRecord::Base)) property_class.class_eval do include PropertySets::PropertySetModel::InstanceMethods extend PropertySets::PropertySetModel::ClassMethods end property_class.owner_class = owner_class_name property_class.owner_assoc = association end Object.const_get(const_name) end |