lib/og/relation.rb in og-0.30.0 vs lib/og/relation.rb in og-0.31.0
- old
+ new
@@ -121,11 +121,11 @@
#++
def symbol_to_class(sym, owner_class)
c = owner_class.name.dup
c = "::" + c unless c =~ /::/
- c.gsub!(/::.*$/, '::')
+ c.gsub!(/::[^:]*$/, '::')
c << sym.to_s
begin
return constant(c)
rescue
unless c == sym
@@ -182,10 +182,11 @@
def resolve_polymorphic_relations(klass)
for r in klass.relations
if r.polymorphic?
target_dm = r.target_class.to_s.demodulize
+
r.owner_class.module_eval %{
class #{r.owner_class}::#{target_dm} < #{r.target_class}
end
}
@@ -258,10 +259,10 @@
module RelationDSL
inheritor(:relations, [], :+) #unless @relations
- class_inherit do
+ class_extension do
# === Examples
#
# belongs_to :article # inflects Article
# belongs_to Article # inflects :article