提交 2f632f53 编写于 作者: C Carlos Antonio da Silva

Extract index and uniq index options to constants

上级 f4b1dcdb
......@@ -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.
先完成此消息的编辑!
想要评论请 注册