Class: Ki::KiJSONListFile

Inherits:
KiJSONFile show all
Includes:
Enumerable
Defined in:
lib/data_storage/ki_json.rb

Overview

Base implementation for Json list file

Direct Known Subclasses

VersionStatusFile

Instance Method Summary collapse

Methods included from KiEnumerable

#any_matches?, #find_first, #size!, #to_h

Methods inherited from KiJSONFile

#edit_data, #load_data_from_file, load_json, #reset_cached_data, #save, #size

Methods inherited from DirectoryBase

#child, #empty?, #exists?, find!, #go, #init_from_path, #initialize, #ki_path, #mkdir, #name, #path, #root, #root?

Constructor Details

This class inherits a constructor from Ki::DirectoryBase

Instance Method Details

#add_item(obj) ⇒ Object



72
73
74
75
76
77
78
79
# File 'lib/data_storage/ki_json.rb', line 72

def add_item(obj)
  edit_data do
    if !@cached_data.include?(obj)
      @cached_data << obj
    end
  end
  create_list_item(obj)
end

#create_list_item(obj) ⇒ Object



68
69
70
# File 'lib/data_storage/ki_json.rb', line 68

def create_list_item(obj)
  obj
end

#each(&block) ⇒ Object



81
82
83
84
85
# File 'lib/data_storage/ki_json.rb', line 81

def each(&block)
  cached_data.each do |obj|
    block.call(create_list_item(obj))
  end
end