Class: ActiveRecord::ConnectionAdapters::OracleEnhancedColumn
- Inherits:
-
Column
- Object
- Column
- ActiveRecord::ConnectionAdapters::OracleEnhancedColumn
- Defined in:
- lib/active_record/connection_adapters/oracle_enhanced_adapter.rb
Overview
:nodoc:
Instance Attribute Summary collapse
-
#forced_column_type ⇒ Object
readonly
Returns the value of attribute forced_column_type.
-
#table_name ⇒ Object
readonly
Returns the value of attribute table_name.
Class Method Summary collapse
-
.string_to_date(string) ⇒ Object
RSI: convert Time value to Date for :date columns.
-
.string_to_time(string) ⇒ Object
RSI: convert Date value to Time for :datetime columns.
-
.value_to_boolean(value) ⇒ Object
convert something to a boolean RSI: added y as boolean value.
Instance Method Summary collapse
-
#comment ⇒ Object
RSI: get column comment from schema definition will work only if using default ActiveRecord connection.
-
#initialize(name, default, sql_type = nil, null = true, table_name = nil, forced_column_type = nil) ⇒ OracleEnhancedColumn
constructor
A new instance of OracleEnhancedColumn.
- #type_cast(value) ⇒ Object
Constructor Details
#initialize(name, default, sql_type = nil, null = true, table_name = nil, forced_column_type = nil) ⇒ OracleEnhancedColumn
Returns a new instance of OracleEnhancedColumn.
117 118 119 120 121 |
# File 'lib/active_record/connection_adapters/oracle_enhanced_adapter.rb', line 117 def initialize(name, default, sql_type = nil, null = true, table_name = nil, forced_column_type = nil) @table_name = table_name @forced_column_type = forced_column_type super(name, default, sql_type, null) end |
Instance Attribute Details
#forced_column_type ⇒ Object (readonly)
Returns the value of attribute forced_column_type.
115 116 117 |
# File 'lib/active_record/connection_adapters/oracle_enhanced_adapter.rb', line 115 def forced_column_type @forced_column_type end |
#table_name ⇒ Object (readonly)
Returns the value of attribute table_name.
115 116 117 |
# File 'lib/active_record/connection_adapters/oracle_enhanced_adapter.rb', line 115 def table_name @table_name end |
Class Method Details
.string_to_date(string) ⇒ Object
RSI: convert Time value to Date for :date columns
141 142 143 144 |
# File 'lib/active_record/connection_adapters/oracle_enhanced_adapter.rb', line 141 def self.string_to_date(string) return string.to_date if string.is_a?(Time) super end |
.string_to_time(string) ⇒ Object
RSI: convert Date value to Time for :datetime columns
147 148 149 150 |
# File 'lib/active_record/connection_adapters/oracle_enhanced_adapter.rb', line 147 def self.string_to_time(string) return string.to_time if string.is_a?(Date) && !OracleEnhancedAdapter.emulate_dates super end |
.value_to_boolean(value) ⇒ Object
convert something to a boolean RSI: added y as boolean value
130 131 132 133 134 135 136 137 138 |
# File 'lib/active_record/connection_adapters/oracle_enhanced_adapter.rb', line 130 def self.value_to_boolean(value) if value == true || value == false value elsif value.is_a?(String) && value.blank? nil else %w(true t 1 y +).include?(value.to_s.downcase) end end |
Instance Method Details
#comment ⇒ Object
RSI: get column comment from schema definition will work only if using default ActiveRecord connection
154 155 156 |
# File 'lib/active_record/connection_adapters/oracle_enhanced_adapter.rb', line 154 def comment ActiveRecord::Base.connection.column_comment(@table_name, name) end |
#type_cast(value) ⇒ Object
123 124 125 126 |
# File 'lib/active_record/connection_adapters/oracle_enhanced_adapter.rb', line 123 def type_cast(value) return guess_date_or_time(value) if type == :datetime && OracleEnhancedAdapter.emulate_dates super end |