Class: Departure::RailsAdapter

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/departure/rails_adapter.rb

Defined Under Namespace

Classes: BaseAdapter, V7_2_Adapter, V8_0_Adapter

Class Method Summary collapse

Class Method Details

.current_versionObject



15
16
17
# File 'lib/departure/rails_adapter.rb', line 15

def current_version
  ActiveRecord::VERSION
end

.for(ar_version) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
# File 'lib/departure/rails_adapter.rb', line 23

def for(ar_version)
  if ar_version::MAJOR == 8
    V8_0_Adapter
  elsif ar_version::MAJOR >= 7 && ar_version::MINOR >= 2
    V7_2_Adapter
  elsif ar_version::MAJOR >= 6
    BaseAdapter
  else
    raise "Unsupported Rails version: #{ar_version}"
  end
end

.for_currentObject



19
20
21
# File 'lib/departure/rails_adapter.rb', line 19

def for_current
  self.for(current_version)
end

.version_matches?(version_string, compatibility_string = current_version::STRING) ⇒ Boolean

Returns:

  • (Boolean)


8
9
10
11
12
13
# File 'lib/departure/rails_adapter.rb', line 8

def version_matches?(version_string, compatibility_string = current_version::STRING)
  raise "Invalid Gem Version: '#{version_string}'" unless Gem::Version.correct?(version_string)

  requirement = Gem::Requirement.new(compatibility_string)
  requirement.satisfied_by?(Gem::Version.new(version_string))
end