module Discriminator::Methods
Public Instance Methods
discriminate(module_name, on:, default: :base)
click to toggle source
Calls superclass method
# File lib/discriminator/methods.rb, line 3 def discriminate(module_name, on:, default: :base) define_singleton_method :discriminate_class_for_record, ->(attrs) { begin "#{module_name.to_s.camelize}::#{attrs.fetch(on.to_s, default).to_s.camelize}".constantize rescue NameError super(attrs) end } end