Class: LumiaServer::Provider::Direct

Inherits:
LumiaServer::Provider show all
Defined in:
lib/lumia-server/provider/direct.rb

Instance Attribute Summary

Attributes inherited from LumiaServer::Provider

#data, #id

Instance Method Summary collapse

Methods inherited from LumiaServer::Provider

new

Constructor Details

#initialize(data) ⇒ Direct

Returns a new instance of Direct.



5
6
7
8
# File 'lib/lumia-server/provider/direct.rb', line 5

def initialize(data)
  super
  @id = data['url']
end

Instance Method Details

#install(dir, file = nil, force = true) ⇒ Object



10
11
12
13
14
15
16
17
18
# File 'lib/lumia-server/provider/direct.rb', line 10

def install(dir, file = nil, force = true)
  name = data['file'].nil? ? file : data['file']
  LumiaServer::CLI.error('No file name provided for provider \'direct\'') if name.nil?

  file = dir.nil? ? name : File.join(dir, name)
  if !File.exist?(file) || force
    IO.copy_stream(open(data['url']), file)
  end
end