Sha256: 89b661210c2f451465ed7ba5a45740bbc234a62af1e2b064372ba1d47703c458

Contents?: true

Size: 316 Bytes

Versions: 76

Compression:

Stored size: 316 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

76 entries across 76 versions & 1 rubygems

Version Path
coalescing_panda-5.3.0 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-5.2.2 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-5.2.2.beta1 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-5.2.1 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-5.2.0 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-5.2.0.beta2 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-5.2.0.beta1 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-5.1.13 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-5.1.12 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-5.1.11 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-5.1.10 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-5.1.9 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-5.1.8 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-5.1.7 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-5.1.6 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-5.1.5 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-5.1.4 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-5.1.3.beta.2 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-5.1.3.beta.1 app/models/concerns/single_table_polymorphic.rb
coalescing_panda-5.1.3 app/models/concerns/single_table_polymorphic.rb