Class: ActiveRecord::ConnectionAdapters::SQLServerColumn
- Inherits:
-
Column
- Object
- Column
- ActiveRecord::ConnectionAdapters::SQLServerColumn
- Defined in:
- lib/active_record/connection_adapters/sqlserver_column.rb
Class Method Summary collapse
Instance Method Summary collapse
- #database_year ⇒ Object
- #default_function ⇒ Object
-
#initialize(name, default, sql_type = nil, null = true, sqlserver_options = {}) ⇒ SQLServerColumn
constructor
A new instance of SQLServerColumn.
- #is_identity? ⇒ Boolean
- #is_integer? ⇒ Boolean
- #is_primary? ⇒ Boolean
- #is_real? ⇒ Boolean
- #is_utf8? ⇒ Boolean
- #sql_type_for_statement ⇒ Object
- #table_klass ⇒ Object
- #table_name ⇒ Object
Constructor Details
#initialize(name, default, sql_type = nil, null = true, sqlserver_options = {}) ⇒ SQLServerColumn
Returns a new instance of SQLServerColumn.
4 5 6 7 8 |
# File 'lib/active_record/connection_adapters/sqlserver_column.rb', line 4 def initialize(name, default, sql_type = nil, null = true, = {}) @sqlserver_options = .symbolize_keys super(name, default, sql_type, null) @primary = @sqlserver_options[:is_identity] || @sqlserver_options[:is_primary] end |
Class Method Details
.binary_to_string(value) ⇒ Object
15 16 17 18 19 20 |
# File 'lib/active_record/connection_adapters/sqlserver_column.rb', line 15 def binary_to_string(value) if value.encoding != Encoding::ASCII_8BIT value = value.force_encoding(Encoding::ASCII_8BIT) end value end |
.string_to_binary(value) ⇒ Object
11 12 13 |
# File 'lib/active_record/connection_adapters/sqlserver_column.rb', line 11 def string_to_binary(value) "0x#{value.unpack("H*")[0]}" end |
Instance Method Details
#database_year ⇒ Object
68 69 70 |
# File 'lib/active_record/connection_adapters/sqlserver_column.rb', line 68 def database_year @sqlserver_options[:database_year] end |
#default_function ⇒ Object
51 52 53 |
# File 'lib/active_record/connection_adapters/sqlserver_column.rb', line 51 def default_function @sqlserver_options[:default_function] end |
#is_identity? ⇒ Boolean
23 24 25 |
# File 'lib/active_record/connection_adapters/sqlserver_column.rb', line 23 def is_identity? @sqlserver_options[:is_identity] end |
#is_integer? ⇒ Boolean
35 36 37 |
# File 'lib/active_record/connection_adapters/sqlserver_column.rb', line 35 def is_integer? @sql_type =~ /int/i end |
#is_primary? ⇒ Boolean
27 28 29 |
# File 'lib/active_record/connection_adapters/sqlserver_column.rb', line 27 def is_primary? @sqlserver_options[:is_primary] end |
#is_real? ⇒ Boolean
39 40 41 |
# File 'lib/active_record/connection_adapters/sqlserver_column.rb', line 39 def is_real? @sql_type =~ /real/i end |
#is_utf8? ⇒ Boolean
31 32 33 |
# File 'lib/active_record/connection_adapters/sqlserver_column.rb', line 31 def is_utf8? @sql_type =~ /nvarchar|ntext|nchar/i end |
#sql_type_for_statement ⇒ Object
43 44 45 46 47 48 49 |
# File 'lib/active_record/connection_adapters/sqlserver_column.rb', line 43 def sql_type_for_statement if is_integer? || is_real? sql_type.sub(/\((\d+)?\)/, '') else sql_type end end |
#table_klass ⇒ Object
59 60 61 62 63 64 65 66 |
# File 'lib/active_record/connection_adapters/sqlserver_column.rb', line 59 def table_klass @table_klass ||= begin table_name.classify.constantize rescue StandardError, NameError, LoadError nil end (@table_klass && @table_klass < ActiveRecord::Base) ? @table_klass : nil end |
#table_name ⇒ Object
55 56 57 |
# File 'lib/active_record/connection_adapters/sqlserver_column.rb', line 55 def table_name @sqlserver_options[:table_name] end |