Sha256: 3698f0acc3211f592fe1ac41eed68f56f9c5ca04a919576329cadf8bee5a8930

Contents?: true

Size: 315 Bytes

Versions: 24

Compression:

Stored size: 315 Bytes

Contents

module SingleTablePolymorphic
  extend ActiveSupport::Concern

  included do
    self.reflect_on_all_associations.select{|a| a.options[:polymorphic]}.map(&:name).each do |name|
      define_method "#{name.to_s}_type=" do |class_name|
        super(class_name.constantize.base_class.name)
      end
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
coalescing_panda-4.1.13 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-4.1.12 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-4.1.11 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-4.1.10 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-4.1.9 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-4.1.8 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-4.1.7 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-4.1.6 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-4.1.5 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-4.1.4 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-4.1.3 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-4.1.2 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-4.1.1 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-4.1.0 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-4.0.4 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-4.0.3 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-4.0.2 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-4.0.1 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-4.0.0 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-3.2.3 app/models/concerns/single_table_polymorphic.rb