class Pumi::DataFile

def data_file(data_directory)

def data_file(data_directory)
  Pathname(data_directory).join("#{type}.yml")
end

def initialize(type)

def initialize(type)
  @type = type.to_s
  raise ArgumentError, "#{type} is not included in #{TYPES}" unless TYPES.include?(@type)
end

def read(data_directory: DEFAULT_DATA_DIRECTORY)

def read(data_directory: DEFAULT_DATA_DIRECTORY)
  YAML.load_file(data_file(data_directory)).fetch(type)
end

def write(data, data_directory: DEFAULT_DATA_DIRECTORY)

def write(data, data_directory: DEFAULT_DATA_DIRECTORY)
  return if data.empty?
  File.write(data_file(data_directory), { type => data.sort.to_h }.to_yaml)
end