Sha256: d39dd2590e934e97bd04fee03d1e346c8e3a905b57441fb5d4c7c73dff605a13
Contents?: true
Size: 778 Bytes
Versions: 1
Compression:
Stored size: 778 Bytes
Contents
# Poly Belongs To # The MIT License (MIT) # Copyright (C) 2015 by Daniel P. Clark $: << File.join(File.dirname(__FILE__), "/poly_belongs_to") require 'poly_belongs_to/version' require 'active_support/concern' module PolyBelongsTo extend ActiveSupport::Concern included do def self.pbt reflect_on_all_associations(:belongs_to).first.try(:name) end def self.poly? !!reflect_on_all_associations(:belongs_to).first.try {|i| i.options[:polymorphic] } end end def pbt self.class.pbt end def poly? self.class.poly? end def pbt_id val = pbt val ? eval("self.#{val}_id") : nil end def pbt_type val = pbt val ? eval("self.#{val}_type") : nil end end ActiveRecord::Base.send(:include, PolyBelongsTo)
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
poly_belongs_to-0.1.0 | lib/poly_belongs_to.rb |