From f36d2b98191d4ad6c9d24c9e7a7b6daba54ef4d7 Mon Sep 17 00:00:00 2001 From: technoweenie Date: Mon, 6 Mar 2006 05:08:37 +0000 Subject: [PATCH] small tweaks to the internal module, fixed bad class name in versioned class's belongs_to association git-svn-id: http://svn.techno-weenie.net/projects/plugins/acts_as_versioned@961 567b1171-46fb-0310-a4c9-b4bef9110e78 --- lib/acts_as_versioned.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/acts_as_versioned.rb b/lib/acts_as_versioned.rb index dc4e96b..894e43c 100644 --- a/lib/acts_as_versioned.rb +++ b/lib/acts_as_versioned.rb @@ -164,7 +164,7 @@ def acts_as_versioned(options = {}, &extension) self.versioned_class_name = options[:class_name] || "Version" self.versioned_foreign_key = options[:foreign_key] || self.to_s.foreign_key - self.versioned_table_name = options[:table_name] || "#{table_name_prefix}#{Inflector.underscore(Inflector.demodulize(class_name_of_active_record_descendant(self)))}_versions#{table_name_suffix}" + self.versioned_table_name = options[:table_name] || "#{table_name_prefix}#{base_class.name.demodulize.underscore}_versions#{table_name_suffix}" self.versioned_inheritance_column = options[:inheritance_column] || "versioned_#{inheritance_column}" self.version_column = options[:version_column] || 'version' self.version_sequence_name = options[:sequence_name] @@ -173,12 +173,12 @@ def acts_as_versioned(options = {}, &extension) self.non_versioned_fields = [self.primary_key, inheritance_column, 'version', 'lock_version', versioned_inheritance_column] if block_given? - extension_module_name = "#{self.to_s}#{versioned_class_name}Extension" + extension_module_name = "#{versioned_class_name}Extension" silence_warnings do - Object.const_set(extension_module_name, Module.new(&extension)) + self.const_set(extension_module_name, Module.new(&extension)) end - options[:extend] = extension_module_name.constantize + options[:extend] = self.const_get(extension_module_name) end class_eval do @@ -212,7 +212,7 @@ def self.reloadable? ; false ; end versioned_class.set_table_name versioned_table_name versioned_class.belongs_to self.to_s.demodulize.underscore.to_sym, - :class_name => "Item::#{versioned_class_name}", + :class_name => "#{self.to_s}::#{versioned_class_name}", :foreign_key => versioned_foreign_key versioned_class.send :include, options[:extend] if options[:extend].is_a?(Module) versioned_class.set_sequence_name version_sequence_name if version_sequence_name