aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
Diffstat (limited to 'activerecord')
-rw-r--r--activerecord/lib/active_record/calculations.rb14
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb22
2 files changed, 19 insertions, 17 deletions
diff --git a/activerecord/lib/active_record/calculations.rb b/activerecord/lib/active_record/calculations.rb
index fec9bee38f..10e8330d1c 100644
--- a/activerecord/lib/active_record/calculations.rb
+++ b/activerecord/lib/active_record/calculations.rb
@@ -245,12 +245,14 @@ module ActiveRecord
options.assert_valid_keys(CALCULATIONS_OPTIONS)
end
- # Converts a given key to the value that the database adapter returns as
- # a usable column name.
- # users.id #=> users_id
- # sum(id) #=> sum_id
- # count(distinct users.id) #=> count_distinct_users_id
- # count(*) #=> count_all
+ # Converts the given keys to the value that the database adapter returns as
+ # a usable column name:
+ #
+ # column_alias_for("users.id") # => "users_id"
+ # column_alias_for("sum(id)") # => "sum_id"
+ # column_alias_for("count(distinct users.id)") # => "count_distinct_users_id"
+ # column_alias_for("count(*)") # => "count_all"
+ # column_alias_for("count", "id") # => "count_id"
def column_alias_for(*keys)
connection.table_alias_for(keys.join(' ').downcase.gsub(/\*/, 'all').gsub(/\W+/, ' ').strip.gsub(/ +/, '_'))
end
diff --git a/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb b/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb
index 18f1175f5f..e4e950d481 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb
@@ -92,7 +92,7 @@ module ActiveRecord
# Returns the human name of the column name.
#
# ===== Examples
- # Column.new('sales_stage', ...).human_name #=> 'Sales stage'
+ # Column.new('sales_stage', ...).human_name # => 'Sales stage'
def human_name
Base.human_attribute_name(@name)
end
@@ -350,28 +350,28 @@ module ActiveRecord
# == Examples
# # Assuming td is an instance of TableDefinition
# td.column(:granted, :boolean)
- # #=> granted BOOLEAN
+ # # granted BOOLEAN
#
# td.column(:picture, :binary, :limit => 2.megabytes)
- # #=> picture BLOB(2097152)
+ # # => picture BLOB(2097152)
#
# td.column(:sales_stage, :string, :limit => 20, :default => 'new', :null => false)
- # #=> sales_stage VARCHAR(20) DEFAULT 'new' NOT NULL
+ # # => sales_stage VARCHAR(20) DEFAULT 'new' NOT NULL
#
- # def.column(:bill_gates_money, :decimal, :precision => 15, :scale => 2)
- # #=> bill_gates_money DECIMAL(15,2)
+ # td.column(:bill_gates_money, :decimal, :precision => 15, :scale => 2)
+ # # => bill_gates_money DECIMAL(15,2)
#
- # def.column(:sensor_reading, :decimal, :precision => 30, :scale => 20)
- # #=> sensor_reading DECIMAL(30,20)
+ # td.column(:sensor_reading, :decimal, :precision => 30, :scale => 20)
+ # # => sensor_reading DECIMAL(30,20)
#
# # While <tt>:scale</tt> defaults to zero on most databases, it
# # probably wouldn't hurt to include it.
- # def.column(:huge_integer, :decimal, :precision => 30)
- # #=> huge_integer DECIMAL(30)
+ # td.column(:huge_integer, :decimal, :precision => 30)
+ # # => huge_integer DECIMAL(30)
#
# == Short-hand examples
#
- # Instead of calling column directly, you can also work with the short-hand definitions for the default types.
+ # Instead of calling +column+ directly, you can also work with the short-hand definitions for the default types.
# They use the type as the method name instead of as a parameter and allow for multiple columns to be defined
# in a single statement.
#