Class: Fulmar::FileSync

Inherits:
Object
  • Object
show all
Defined in:
lib/fulmar/domain/service/file_sync_service.rb

Overview

Creates the required transfer model from the configuration

Class Method Summary collapse

Class Method Details

.get_class(config) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/fulmar/domain/service/file_sync_service.rb', line 9

def self.get_class(config)
  case config[:type]
  when 'rsync_with_versions'
    transfer_class = Fulmar::Infrastructure::Model::Transfer::RsyncWithVersions
  when 'rsync'
    transfer_class = Fulmar::Infrastructure::Model::Transfer::Rsync
  when 'tar'
    transfer_class = Fulmar::Infrastructure::Model::Transfer::Tar
  else
    help = config[:type] == '' ? 'Add a "type: " field to your deployment yaml file. ' : ''
    raise "Transfer type '#{config[:type]}' is not valid. #{help}Valid values are: rsync, rsync_with_versions."
  end

  transfer_class
end