Sha256: b5f567e09d29bdd76776d8464e9cfc1cbae77bac25a8458a44264d98a4be0b24
Contents?: true
Size: 590 Bytes
Versions: 2
Compression:
Stored size: 590 Bytes
Contents
module ModelMacros # Create a new model def strict_model(klass_name, options = {}, &block) spawn_model klass_name do validates_strict_columns options instance_exec(&block) if block end end protected # Create a new model class def spawn_model(klass_name, parent_klass = ActiveRecord::Base, &block) Object.instance_eval { remove_const klass_name } if Object.const_defined?(klass_name) Object.const_set(klass_name, Class.new(parent_klass)) Object.const_get(klass_name).class_eval(&block) if block_given? Object.const_get(klass_name) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
activerecord_strict_validations-0.3.1 | spec/support/macros/model_macros.rb |
activerecord_strict_validations-0.3 | spec/support/macros/model_macros.rb |