Class: ActiveRecord::ConnectionAdapters::SQLServerColumn
- Inherits:
-
Column
- Object
- Column
- ActiveRecord::ConnectionAdapters::SQLServerColumn
- Defined in:
- lib/active_record/connection_adapters/sqlserver_adapter.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_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.
53 54 55 56 57 |
# File 'lib/active_record/connection_adapters/sqlserver_adapter.rb', line 53 def initialize(name, default, sql_type = nil, null = true, = {}) @sqlserver_options = .symbolize_keys super(name, default, sql_type, null) @primary = @sqlserver_options[:is_identity] end |
Class Method Details
.binary_to_string(value) ⇒ Object
65 66 67 |
# File 'lib/active_record/connection_adapters/sqlserver_adapter.rb', line 65 def binary_to_string(value) value =~ /[^[:xdigit:]]/ ? value : [value].pack('H*') end |
.string_to_binary(value) ⇒ Object
61 62 63 |
# File 'lib/active_record/connection_adapters/sqlserver_adapter.rb', line 61 def string_to_binary(value) "0x#{value.unpack("H*")[0]}" end |
Instance Method Details
#database_year ⇒ Object
112 113 114 |
# File 'lib/active_record/connection_adapters/sqlserver_adapter.rb', line 112 def database_year @sqlserver_options[:database_year] end |
#default_function ⇒ Object
95 96 97 |
# File 'lib/active_record/connection_adapters/sqlserver_adapter.rb', line 95 def default_function @sqlserver_options[:default_function] end |
#is_identity? ⇒ Boolean
71 72 73 |
# File 'lib/active_record/connection_adapters/sqlserver_adapter.rb', line 71 def is_identity? @sqlserver_options[:is_identity] end |
#is_integer? ⇒ Boolean
79 80 81 |
# File 'lib/active_record/connection_adapters/sqlserver_adapter.rb', line 79 def is_integer? !!(@sql_type =~ /int/i) end |
#is_real? ⇒ Boolean
83 84 85 |
# File 'lib/active_record/connection_adapters/sqlserver_adapter.rb', line 83 def is_real? !!(@sql_type =~ /real/i) end |
#is_utf8? ⇒ Boolean
75 76 77 |
# File 'lib/active_record/connection_adapters/sqlserver_adapter.rb', line 75 def is_utf8? !!(@sql_type =~ /nvarchar|ntext|nchar/i) end |
#sql_type_for_statement ⇒ Object
87 88 89 90 91 92 93 |
# File 'lib/active_record/connection_adapters/sqlserver_adapter.rb', line 87 def sql_type_for_statement if is_integer? || is_real? sql_type.sub(/\(\d+\)/,'') else sql_type end end |
#table_klass ⇒ Object
103 104 105 106 107 108 109 110 |
# File 'lib/active_record/connection_adapters/sqlserver_adapter.rb', line 103 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
99 100 101 |
# File 'lib/active_record/connection_adapters/sqlserver_adapter.rb', line 99 def table_name @sqlserver_options[:table_name] end |