Class: Fronton::Dependency

Inherits:
Object
  • Object
show all
Defined in:
lib/fronton/dependency.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, version) ⇒ Dependency

Returns a new instance of Dependency.



5
6
7
8
# File 'lib/fronton/dependency.rb', line 5

def initialize(name, version)
  @name = name
  @version = version
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



3
4
5
# File 'lib/fronton/dependency.rb', line 3

def name
  @name
end

#versionObject (readonly)

Returns the value of attribute version.



3
4
5
# File 'lib/fronton/dependency.rb', line 3

def version
  @version
end

Instance Method Details

#available?Boolean

Returns:

  • (Boolean)


10
11
12
13
14
# File 'lib/fronton/dependency.rb', line 10

def available?
  Gem::Specification.find_by_name(@name, @version) && true
rescue Gem::LoadError => _
  false
end

#install_dependencyObject



16
17
18
# File 'lib/fronton/dependency.rb', line 16

def install_dependency
  Gem.install @name, @version unless available?
end

#require_dependencyObject



20
21
22
23
24
25
# File 'lib/fronton/dependency.rb', line 20

def require_dependency
  # activate gem
  gem @name, @version
  # require gem
  require @name
end