Move table creation out of save_game
This commit is contained in:
		
							parent
							
								
									b41035fac7
								
							
						
					
					
						commit
						fc42ac7651
					
				
							
								
								
									
										18
									
								
								src/Go.cr
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								src/Go.cr
									
									
									
									
									
								
							| @ -11,15 +11,20 @@ GAME_CACHE = {} of String => Go::Game | ||||
| GAME_SAVE  = "./game_saves.db" | ||||
| GAME_DB = DB.open "sqlite3:./#{GAME_SAVE}" | ||||
| 
 | ||||
| def make_table(db) | ||||
|     # Function:   make_table | ||||
|     # Parameters: db(Sqlite) | ||||
|     # Returns:    None | ||||
|     db.exec "create table if not exists game_saves ( | ||||
|         gameid string, turn integer, size integer, white_pass string,  | ||||
|         black_pass string, time string,  board string, UNIQUE(gameid) )" | ||||
| end | ||||
| 
 | ||||
| def save_game(db, gameid, game) | ||||
|     # Function:   save_game | ||||
|     # Parameters: db(Sqlite) gameid(String) game(Go::Game) | ||||
|     # Returns:    None | ||||
|     turn, size, white_pass, black_pass, board = game.encode | ||||
|     # Create table if one does not exist, gameid is UNIQUE => No duplicates | ||||
|     db.exec "create table if not exists game_saves ( | ||||
|         gameid string, turn integer, size integer, white_pass string,  | ||||
|         black_pass string, time string,  board string, UNIQUE(gameid) )" | ||||
|     # If duplicate => replace values, else => make new row for gameid | ||||
|     db.exec "insert or replace into game_saves values (?, ?, ?, ?, ?, ?, ?)",  | ||||
|         gameid, turn.value, size, white_pass, black_pass, Time.now.to_json, board | ||||
| @ -244,8 +249,13 @@ end | ||||
| #         save_all(GAME_CACHE) | ||||
| #     end | ||||
| # end | ||||
| 
 | ||||
| # If table does not exist, build it | ||||
| make_table(GAME_DB) | ||||
| # Remove games that are older than 24hrs | ||||
| game_cleaner(GAME_DB, GAME_CACHE) | ||||
| Kemal.run | ||||
| 
 | ||||
| # If exit is disabled in kemal.stop | ||||
| # For save on close | ||||
| # at_exit do | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user