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_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.
58 59 60 61 62 |
# File 'lib/active_record/connection_adapters/sqlserver_adapter.rb', line 58 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
70 71 72 |
# File 'lib/active_record/connection_adapters/sqlserver_adapter.rb', line 70 def binary_to_string(value) value =~ /[^[:xdigit:]]/ ? value : [value].pack('H*') end |
.string_to_binary(value) ⇒ Object
66 67 68 |
# File 'lib/active_record/connection_adapters/sqlserver_adapter.rb', line 66 def string_to_binary(value) "0x#{value.unpack("H*")[0]}" end |
Instance Method Details
#database_year ⇒ Object
121 122 123 |
# File 'lib/active_record/connection_adapters/sqlserver_adapter.rb', line 121 def database_year @sqlserver_options[:database_year] end |
#default_function ⇒ Object
104 105 106 |
# File 'lib/active_record/connection_adapters/sqlserver_adapter.rb', line 104 def default_function @sqlserver_options[:default_function] end |
#is_identity? ⇒ Boolean
76 77 78 |
# File 'lib/active_record/connection_adapters/sqlserver_adapter.rb', line 76 def is_identity? @sqlserver_options[:is_identity] end |
#is_integer? ⇒ Boolean
88 89 90 |
# File 'lib/active_record/connection_adapters/sqlserver_adapter.rb', line 88 def is_integer? !!(@sql_type =~ /int/i) end |
#is_primary? ⇒ Boolean
80 81 82 |
# File 'lib/active_record/connection_adapters/sqlserver_adapter.rb', line 80 def is_primary? @sqlserver_options[:is_primary] end |
#is_real? ⇒ Boolean
92 93 94 |
# File 'lib/active_record/connection_adapters/sqlserver_adapter.rb', line 92 def is_real? !!(@sql_type =~ /real/i) end |
#is_utf8? ⇒ Boolean
84 85 86 |
# File 'lib/active_record/connection_adapters/sqlserver_adapter.rb', line 84 def is_utf8? !!(@sql_type =~ /nvarchar|ntext|nchar/i) end |
#sql_type_for_statement ⇒ Object
96 97 98 99 100 101 102 |
# File 'lib/active_record/connection_adapters/sqlserver_adapter.rb', line 96 def sql_type_for_statement if is_integer? || is_real? sql_type.sub(/\((\d+)?\)/,'') else sql_type end end |
#table_klass ⇒ Object
112 113 114 115 116 117 118 119 |
# File 'lib/active_record/connection_adapters/sqlserver_adapter.rb', line 112 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
108 109 110 |
# File 'lib/active_record/connection_adapters/sqlserver_adapter.rb', line 108 def table_name @sqlserver_options[:table_name] end |