Module: FileStorageModule

Included in:
ProductAPI, TranscationAPI
Defined in:
lib/FileStorageModule.rb

Instance Method Summary collapse

Instance Method Details

#add_line(fp, data) ⇒ Object



16
17
18
19
20
21
# File 'lib/FileStorageModule.rb', line 16

def add_line(fp, data)
  new_line = data.to_json
  File.open(fp, 'a') do |file|
    file.puts new_line
  end
end

#read_file(fp) ⇒ Object



5
6
7
8
9
10
11
12
13
14
# File 'lib/FileStorageModule.rb', line 5

def read_file(fp)
  list = []
  File.open(fp, 'r') do |f|
    f.each do |line|
      content = JSON.parse(line, symbolize_names: true)
      list.push( content ) unless content[:del]
    end
  end
  return list
end

#remove_line(fp, data) ⇒ Object



31
32
33
# File 'lib/FileStorageModule.rb', line 31

def remove_line(fp, data)
  update_line(fp, data, {del: true})
end

#update_line(fp, old_data, new_data) ⇒ Object



23
24
25
26
27
28
29
# File 'lib/FileStorageModule.rb', line 23

def update_line(fp, old_data, new_data)
  old_line = old_data.to_json
  new_line = new_data.to_json
  content = File.read(fp)
  content.sub!(old_line, new_line)
  File.open(fp, "w") {|file| file.puts content }
end