class Izokatu::FileImporter

Izokatu importer for importing data from some file

Attributes

decode[R]

@return [TrueClass || FalseClass] status of ability to decode imported data

delete_imported[R]

@return [TrueClass, FalseClass] status of ability to delete file after import

filename[R]

@return [String] name of file to import from

Public Class Methods

new(filename:, delete_imported:, decode:) click to toggle source

Initializing options for import

@param filename (filename) @param delete_imported (delete_imported) @param decode (decode)

@since 0.1.0

# File lib/izokatu/importer/file_importer.rb, line 26
def initialize(filename:, delete_imported:, decode:)
  @filename = filename
  @delete_imported = delete_imported
  @decode = decode
end

Public Instance Methods

perform() click to toggle source

Performing import of data

@return [Hash] imported data

@since 0.1.0

# File lib/izokatu/importer/file_importer.rb, line 38
def perform
  raise 'No data file!' unless File.exist?(filename)

  encoded = File.read(filename)
  File.delete(filename) if delete_imported
  data = JSON.parse(encoded).transform_keys(&:to_sym)
  decode ? decode_data(data) : data
end