Class: ActiveRecord::Associations::AssociationScope

Inherits:
Object
  • Object
show all
Defined in:
lib/store_base_sti_class_for_5_0.rb,
lib/store_base_sti_class_for_5_1.rb,
lib/store_base_sti_class_for_5_2.rb,
lib/store_base_sti_class_for_6_0.rb,
lib/store_base_sti_class_for_6_1.rb

Class Method Summary collapse

Class Method Details

.get_bind_values(owner, chain) ⇒ Object



234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
# File 'lib/store_base_sti_class_for_5_0.rb', line 234

def self.get_bind_values(owner, chain)
  binds = []
  last_reflection = chain.last

  binds << last_reflection.join_id_for(owner)
  if last_reflection.type
    # START PATCH
    # original: binds << owner.class.base_class.name
    binds << (ActiveRecord::Base.store_base_sti_class ? owner.class.base_class.name : owner.class.name)
    # END PATCH
  end

  chain.each_cons(2).each do |reflection, next_reflection|
    if reflection.type
      # START PATCH
      # original: binds << next_reflection.klass.base_class.name
      binds << (ActiveRecord::Base.store_base_sti_class ? next_reflection.klass.base_class.name : next_reflection.klass.name)
      # END PATCH
    end
  end
  binds
end