aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2015-01-01 00:00:00 -0800
committerRyuta Kamizono <kamipo@gmail.com>2015-01-04 07:32:03 +0900
commit3225ebfa0632cd42a0fbcf0cbca36c7c06e54844 (patch)
tree67a4a7cf8d75aa5648f9fea21ab40be75705ec97 /activerecord/lib
parent4591b0fc041454f4ba4a83629b9bbca2a851969c (diff)
downloadrails-3225ebfa0632cd42a0fbcf0cbca36c7c06e54844.tar.gz
rails-3225ebfa0632cd42a0fbcf0cbca36c7c06e54844.tar.bz2
rails-3225ebfa0632cd42a0fbcf0cbca36c7c06e54844.zip
Prefer `array?` rather than `array`
Slightly refactoring `PostgreSQLColumn`. `array` should be readonly. `default_function` should be initialized by `super`. `sql_type` has been removed `[]`. Since we already choose to remove it we should not change.
Diffstat (limited to 'activerecord/lib')
-rw-r--r--activerecord/lib/active_record/connection_adapters/column.rb4
-rw-r--r--activerecord/lib/active_record/connection_adapters/postgresql/column.rb9
-rw-r--r--activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb2
3 files changed, 7 insertions, 8 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/column.rb b/activerecord/lib/active_record/connection_adapters/column.rb
index af307b57a4..65d8b1a8ab 100644
--- a/activerecord/lib/active_record/connection_adapters/column.rb
+++ b/activerecord/lib/active_record/connection_adapters/column.rb
@@ -30,13 +30,13 @@ module ActiveRecord
# <tt>company_name varchar(60)</tt>.
# It will be mapped to one of the standard Rails SQL types in the <tt>type</tt> attribute.
# +null+ determines if this column allows +NULL+ values.
- def initialize(name, default, cast_type, sql_type = nil, null = true)
+ def initialize(name, default, cast_type, sql_type = nil, null = true, default_function = nil)
@name = name
@cast_type = cast_type
@sql_type = sql_type
@null = null
@default = default
- @default_function = nil
+ @default_function = default_function
end
def has_default?
diff --git a/activerecord/lib/active_record/connection_adapters/postgresql/column.rb b/activerecord/lib/active_record/connection_adapters/postgresql/column.rb
index 1458fbf496..acb1278499 100644
--- a/activerecord/lib/active_record/connection_adapters/postgresql/column.rb
+++ b/activerecord/lib/active_record/connection_adapters/postgresql/column.rb
@@ -2,18 +2,17 @@ module ActiveRecord
module ConnectionAdapters
# PostgreSQL-specific extensions to column definitions in a table.
class PostgreSQLColumn < Column #:nodoc:
- attr_accessor :array
+ attr_reader :array
+ alias :array? :array
def initialize(name, default, cast_type, sql_type = nil, null = true, default_function = nil)
if sql_type =~ /\[\]$/
@array = true
- super(name, default, cast_type, sql_type[0..sql_type.length - 3], null)
+ sql_type = sql_type[0..sql_type.length - 3]
else
@array = false
- super(name, default, cast_type, sql_type, null)
end
-
- @default_function = default_function
+ super
end
def serial?
diff --git a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
index 13bb5c187e..5b070cae4f 100644
--- a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
@@ -144,7 +144,7 @@ module ActiveRecord
# AbstractAdapter
def prepare_column_options(column) # :nodoc:
spec = super
- spec[:array] = 'true' if column.respond_to?(:array) && column.array
+ spec[:array] = 'true' if column.array?
spec[:default] = "\"#{column.default_function}\"" if column.default_function
spec
end