Generated attributes refactor #4466

Merged
merged 2 commits into from Jan 14, 2012
View
8 activerecord/lib/active_record/connection_handling.rb
@@ -90,11 +90,7 @@ def remove_connection(klass = self)
connection_handler.remove_connection(klass)
end
- def clear_active_connections!
- connection_handler.clear_active_connections!
- end
-
- delegate :clear_reloadable_connections!,
- :clear_all_connections!,:verify_active_connections!, :to => :connection_handler
+ delegate :clear_active_connections!, :clear_reloadable_connections!,
+ :clear_all_connections!, :verify_active_connections!, :to => :connection_handler
end
end
View
11 railties/lib/rails/generators/generated_attribute.rb
@@ -5,6 +5,9 @@
module Rails
module Generators
class GeneratedAttribute
+ INDEX_OPTIONS = %w(index uniq)
+ UNIQ_INDEX_OPTIONS = %w(uniq)
+
attr_accessor :name, :type
attr_reader :attr_options
@@ -15,7 +18,7 @@ def parse(column_definition)
# if user provided "name:index" instead of "name:string:index"
# type should be set blank so GeneratedAttribute's constructor
# could set it to :string
- has_index, type = type, nil if %w(index uniq).include?(type)
+ has_index, type = type, nil if UNIQ_INDEX_OPTIONS.include?(type)
type, attr_options = *parse_type_and_options(type)
new(name, type, has_index, attr_options)
@@ -40,8 +43,8 @@ def parse_type_and_options(type)
def initialize(name, type=nil, index_type=false, attr_options={})
@name = name
@type = (type.presence || :string).to_sym
- @has_index = %w(index uniq).include?(index_type)
- @has_uniq_index = %w(uniq).include?(index_type)
+ @has_index = INDEX_OPTIONS.include?(index_type)
+ @has_uniq_index = UNIQ_INDEX_OPTIONS.include?(index_type)
@attr_options = attr_options
end
@@ -84,7 +87,7 @@ def index_name
end
def reference?
- self.type.in?([:references, :belongs_to])
+ self.type.in?(:references, :belongs_to)
end
def has_index?