Module: ActiveAdmin::Dependencies

Defined in:
lib/active_admin/dependencies.rb

Class Method Summary collapse

Class Method Details

.check_for(gem_name) ⇒ Object

Provides a simple query interface to check for gem dependencies

ActiveAdmin::Dependencies.draper

> #<Gem::Specification:0x3ffb89c49ae0 draper-1.2.1>

ActiveAdmin::Dependencies.draper?

> true

ActiveAdmin::Dependencies.draper? :<=, ‘1.1.0’

> false

ActiveAdmin::Dependencies.draper? :==, ‘1.2.1’

> true



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/active_admin/dependencies.rb', line 18

def self.check_for(gem_name)
  gem_name = gem_name.to_s

  singleton_class.send :define_method, gem_name do
    Gem.loaded_specs[gem_name]
  end

  singleton_class.send :define_method, gem_name+'?' do |verb = nil, version = nil|
    spec = send gem_name
    if verb && version
      !!spec && spec.version.send(verb, Gem::Version.create(version))
    else
      !!spec
    end
  end
end