Class: ActiveRecord::ConnectionAdapters::MSSQL::Version

Inherits:
Object
  • Object
show all
Defined in:
lib/arjdbc/mssql/server_version.rb

Constant Summary collapse

VERSION_YEAR =
{
  '8'  => '2000',
  '9'  => '2005',
  '10' => '2008',
  '11' => '2012',
  '12' => '2014',
  '13' => '2016',
  '14' => '2017',
  '15' => '2019',
  '16' => '2022'
}.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(version_array = []) ⇒ Version

Returns a new instance of Version.



24
25
26
# File 'lib/arjdbc/mssql/server_version.rb', line 24

def initialize(version_array = [])
  @complete, @major, @level, @edition = version_array
end

Instance Attribute Details

#completeObject (readonly)

Returns the value of attribute complete.



8
9
10
# File 'lib/arjdbc/mssql/server_version.rb', line 8

def complete
  @complete
end

#editionObject (readonly)

Returns the value of attribute edition.



10
11
12
# File 'lib/arjdbc/mssql/server_version.rb', line 10

def edition
  @edition
end

#levelObject (readonly)

Returns the value of attribute level.



9
10
11
# File 'lib/arjdbc/mssql/server_version.rb', line 9

def level
  @level
end

#majorObject (readonly)

Returns the value of attribute major.



7
8
9
# File 'lib/arjdbc/mssql/server_version.rb', line 7

def major
  @major
end

Instance Method Details

#min_majorObject



46
47
48
# File 'lib/arjdbc/mssql/server_version.rb', line 46

def min_major
  '13'
end

#min_yearObject



42
43
44
# File 'lib/arjdbc/mssql/server_version.rb', line 42

def min_year
  VERSION_YEAR[min_major]
end

#product_nameObject



28
29
30
31
32
# File 'lib/arjdbc/mssql/server_version.rb', line 28

def product_name
  return system_name unless year

  "#{system_name} #{year}"
end

#support_messageObject



50
51
52
# File 'lib/arjdbc/mssql/server_version.rb', line 50

def support_message
  "This adapter supports #{system_name} >= #{min_year}."
end

#system_nameObject



34
35
36
# File 'lib/arjdbc/mssql/server_version.rb', line 34

def system_name
  'Microsoft SQL Server'
end

#yearObject



38
39
40
# File 'lib/arjdbc/mssql/server_version.rb', line 38

def year
  VERSION_YEAR[major]
end