提交 3d25fa04 编写于 作者: J José Valim

Merge pull request #4466 from carlosantoniodasilva/generated-attributes-refactor

Generated attributes refactor
......@@ -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
......@@ -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?
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册