Class: MiniDeploy::HostsDataReader

Inherits:
Object
  • Object
show all
Defined in:
lib/mini_deploy/hosts_data_reader.rb

Instance Method Summary collapse

Constructor Details

#initialize(host_file_path) ⇒ HostsDataReader

Returns a new instance of HostsDataReader.



8
9
10
# File 'lib/mini_deploy/hosts_data_reader.rb', line 8

def initialize(host_file_path)
  @host_file_path = host_file_path
end

Instance Method Details

#fetchObject



12
13
14
# File 'lib/mini_deploy/hosts_data_reader.rb', line 12

def fetch
  read_host_data.map { |host_data| format_host_data(host_data) }
end

#format_host_data(host_data) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
# File 'lib/mini_deploy/hosts_data_reader.rb', line 16

def format_host_data(host_data)
  {
    node_id: host_data.fetch('node_id'),
    host: host_data.fetch('host'),
    ftp_username: host_data.fetch('ftp_username'),
    ftp_password: host_data.fetch('ftp_password'),
    ftp_passive_mode: host_data.fetch('ftp_passive_mode') { false },
    info: host_data.fetch('info') { nil },
    time: Time.now.utc
  }
end

#read_host_dataObject



28
29
30
31
32
# File 'lib/mini_deploy/hosts_data_reader.rb', line 28

def read_host_data
  YAML.load(IO.read(@host_file_path))
rescue StandardError
  raise HostsDataReaderLoadError
end