Skip to content

Commit fa43534

Browse files
committed
implemeted delete
1 parent 15c5c8c commit fa43534

File tree

2 files changed

+47
-12
lines changed

2 files changed

+47
-12
lines changed

mysqlite/my_sqlite_request.rb

Lines changed: 47 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -76,12 +76,17 @@ def set(*data) #a hash of data key => value
7676
self
7777
end
7878

79+
def delete
80+
@request='delete'
81+
self
82+
end
83+
7984
def run
8085

81-
if File.exist?(table_name)
86+
if File.exist?(@table_name)
8287
@hashedDataA=table_to_hashed(@table_name)
8388
else
84-
@hashedData=create_csv_file(@table_name,@dataToInsert) if !File.exist?(table_name)
89+
@hashedDataA=create_csv_file(@table_name,@dataToInsert) if !File.exist?(table_name)
8590
end
8691
@selected_hash_array=[]
8792
@filtered_hash_array=[]
@@ -144,6 +149,7 @@ def run
144149
end
145150
end
146151
updated_array<<current_csv_row.to_h
152+
147153
148154
end#CSV.foreach
149155
@@ -154,13 +160,43 @@ def run
154160
end
155161
end
156162
@final=updated_array
163+
164+
when 'delete'
165+
166+
table = CSV.table(@table_name) #delete_if is available in a tableMode
167+
header=CSV.read(@table_name,headers:true).headers
168+
169+
@where_conditions.each do |current_condition|
170+
current_condition.each do |key, value|
171+
# Delete rows that match the condition
172+
table.delete_if do |row|
173+
row[key.to_sym] == value
174+
end
175+
end
176+
end
177+
178+
179+
csv_data=table.to_csv
180+
csv_array = CSV.parse(csv_data, headers: true).map(&:to_h) #convert to an array of hashes
181+
182+
CSV.open(@table_name,'w',write_headers:true,headers:header) do |csv|
183+
csv_array.each do |row|
184+
csv<<row
185+
end
186+
end
187+
188+
@final=csv_array
189+
190+
191+
192+
193+
157194
end#case
158195
159196
160197
161198
162199
163-
puts '..........................final result'
164200
puts @final.inspect
165201
end#of def run
166202
end#of class
@@ -181,7 +217,7 @@ def create_csv_file(table_name,dataToInsert)
181217
end
182218
183219
def table_to_hashed(table_name)
184-
hashedData=CSV.parse(File.read(table_name),headers:true).map(&:to_h)
220+
hashedData=CSV.parse(File.read(table_name),headers:true).map(&:to_h).take(10)
185221
return hashedData
186222
end
187223
@@ -269,13 +305,13 @@ def merge(left, right, &block)
269305
270306
result
271307
end
272-
273308
request = MySqliteRequest.new
274-
request=request.from('nba_players.csv')
275-
request=request.select('player','height')
276-
request=request.where('height','196')
277-
request=request.run()
309+
request = request.delete()
310+
request = request.from('nba_player_data.csv')
311+
request = request.where('name', 'Paul Zipser')
312+
request.run
313+
# request = MySqliteRequest.new
278314
# request = request.update('nba_player_data.csv')
279-
# request = request.set('name' => 'Jimmy agabaje2')
280-
# request = request.where('name', 'Jimmy agabaje')
315+
# request = request.values('name' => 'Alaa Renamed')
316+
# request = request.where('name', 'Matt Zunic')
281317
# request.run

mysqlite/nba_player_data.csv

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
name,year_start,year_end,position,height,weight,birth_date,college
2-
Paul Zipser,2017,2018,G-F,6-8,215,"February 18, 1994",
32
Ante Zizic,2018,2018,F-C,6-11,250,"January 4, 1997",
43
Jimmy agabaje2,1983,1983,C,7-1,240,"December 20, 1953",Kent State University
54
Bill Zopf,1971,1971,G,6-1,170,"June 7, 1948",Duquesne University

0 commit comments

Comments
 (0)