summaryrefslogtreecommitdiffhomepage
path: root/rails-backend/db/seeds.rb
diff options
context:
space:
mode:
Diffstat (limited to 'rails-backend/db/seeds.rb')
-rw-r--r--rails-backend/db/seeds.rb167
1 files changed, 167 insertions, 0 deletions
diff --git a/rails-backend/db/seeds.rb b/rails-backend/db/seeds.rb
new file mode 100644
index 0000000..50c901e
--- /dev/null
+++ b/rails-backend/db/seeds.rb
@@ -0,0 +1,167 @@
+# This file should ensure the existence of records required to run the application in every environment (production,
+# development, test). The code here should be idempotent so that it can be executed at any point in every environment.
+# The data can then be loaded with the bin/rails db:seed command (or created alongside the database with db:setup).
+#
+# Example:
+#
+# ["Action", "Comedy", "Drama", "Horror"].each do |genre_name|
+# MovieGenre.find_or_create_by!(name: genre_name)
+# end
+
+markdown_sample = <<~HEREDOC
+# Telum vim lactente
+
+## Petebam Circe hic mactare vitae tandem super
+
+Lorem markdownum Perseu tetigisse instar. Negat inde calidi sibi, in ora
+sanguine; vox excitus pes, in in tibi mella! Portasse morte hic venit, latebras
+varios servire libera; hic ad augusta forcipe, *illis* est ubi atque.
+
+Veri inquit pondere. Precatur ego Amymonen quae vidit lunares caput, nequeo, et.
+Occidat in nosset pressa, nomine exercita penitus viae gaudent extemplo.
+Mensuraque imitamine primum: sine est suas, quo in, est falso est accingere
+ibimus ore renuente. Trahit sua nulla per ut vestigia celerique, gemit manes,
+quo suae.
+
+```
+if (graphic_veronica_traceroute + scanRdram < bittorrent_dtd +
+ bugWindowsOrientation) {
+ pitchWord = dllTrackbackRemote;
+ jquery.batchDot.megabyte(cookie - public, memoryDslamSlashdot(2,
+ socialPpcEncryption));
+}
+cron_analyst = ddr_zettabyte_mips;
+var digitize = 1;
+var friend_gui = artificial.system(alphaWebsite + domain_ibm(
+ install_ospf_definition, mca_camelcase, 4), 551649, active_trinitron(
+ microcomputer_spoofing));
+```
+
+Ungues in cannae limumque ingrate; in una voce cubitoque fecit. Non nec, uno
+vires laesit perque carpere vultus armenta. Via [praetulit clipei
+vestis](http://antro.net/) vidit, sive vestes invitas pro ad per nato nam beati.
+
+## Nec hauriret stantis
+
+Illa serpentem fugit inlaesas, cum spoliis vultum arbitrium penates fulmina
+caelestia moriens videt insidias. Umidus positi, et ripis feremur sit capit
+detur tenens.
+
+- Provolat cum ecce dextro sed suum pomi
+- Voce falsa habuit te
+- Modo deponere bracchia pectus
+
+Deus canor incurva usu dolisque tuentes, leto Liber iniquae requies declivis ad
+fontibus tali, flagratque aquaticus. Rupit stimuloque, conscia, nimiumque ait
+nomen est Libycas, undas.
+
+> Humumque spectata et vera, **rugosis causam** iaculo sacra, iunctas rege
+> triplices contrahit. Potenti unum cava fama genitor testata summa. Comae sit
+> cum, dignissima tauri, formatus promissis *in* quoque [quem
+> candidaque](http://sulcomaxima.net/), vitalesque? Pro edere rescindere, premit
+> mortisque celeri egredior mare pater, una. Arva tu annos fila valles nocte,
+> sero deum densetur **soror siccatque Aeacide** certe undique discordia latent
+> et.
+
+Mihi aureus. Eque tuo, illam diris, virgineas erit externis stabula saetae datis
+videat vultus depositae nymphas pedum non peto quem.
+HEREDOC
+
+platform_tags = [
+ "web",
+ "web-desktop",
+ "web-mobile",
+ "desktop",
+ "mobile",
+ "nintendo 64",
+ "other"
+]
+platform_tags.each do |tag|
+ Tag.find_or_create_by!(name: tag, tag_type: "platform")
+end
+
+game_tags = [
+ "unity",
+ "godot",
+ "raylib",
+ "c",
+ "ruby",
+ "action",
+ "tech demo",
+ "idk something",
+]
+game_tags.each do |tag|
+ Tag.find_or_create_by!(name: tag, tag_type: "game")
+end
+
+user = User.find_or_create_by!(user_name: "realtradam", identifier: "11139432")
+
+data_dir = Rails.root.join('db/lfs')
+
+games = [
+ {
+ title: 'Almost Pong',
+ github_link: 'https://github.com/realtradam/almost-pong',
+ img_rendering: 'crisp-edges',
+ tags: ["web-desktop"]
+ },
+ {
+ title: 'Bubbles, Behind',
+ github_link: 'https://github.com/realtradam/TOJam2023',
+ img_rendering: 'crisp-edges',
+ tags: ["web-desktop", "desktop"]
+ },
+ {
+ title: 'Magnet Run',
+ github_link: 'https://github.com/realtradam/Magnet-Run-3D',
+ img_rendering: 'crisp-edges',
+ tags: ["web-desktop", "desktop"]
+ },
+ {
+ title: 'Optimal Direction',
+ github_link: 'https://github.com/realtradam/optimal-direction',
+ img_rendering: 'crisp-edges',
+ tags: ["web-desktop", "desktop"]
+ },
+ {
+ title: 'Winter One',
+ github_link: '',
+ img_rendering: 'pixelated',
+ tags: ["web-desktop", "desktop"]
+ },
+ {
+ title: 'SpaceCube 64',
+ github_link: 'https://github.com/realtradam/tojam2024',
+ img_rendering: 'crisp-edges',
+ tags: ["nintendo 64", "web-desktop"]
+ },
+ {
+ title: 'Orc: Arena of Time',
+ github_link: 'https://github.com/realtradam/orc-arena-of-time',
+ img_rendering: 'pixelated',
+ tags: ["web-desktop", "desktop"]
+ },
+]
+
+games.each do |game|
+ next if Game.exists?(title: game[:title], user_id: 1) # first user is always me
+ tags = game[:tags]
+ game.delete(:tags)
+ game[:description] = File.read("#{data_dir}/Games/#{game[:title]}/desc.md")
+ game_obj = user.games.new(game)
+ game_obj.save_zip("#{data_dir}/Games/#{game[:title]}/index.zip")
+ game_obj.card_img.attach(io: File.open("#{data_dir}/Games/#{game[:title]}/card.png"), filename: 'card.png')
+ game_obj.char_img.attach(io: File.open("#{data_dir}/Games/#{game[:title]}/character.png"), filename: 'character.png')
+ game_obj.title_img.attach(io: File.open("#{data_dir}/Games/#{game[:title]}/title.png"), filename: 'title.png')
+ game_obj.titleSlug = game[:title].parameterize
+ game_obj.status = 1
+
+ tags.each do |tag|
+ tag_obj = Tag.find_by(tag_type: "platform", name: tag)
+ if tag_obj
+ game_obj.tags << tag_obj
+ end
+ end
+
+ game_obj.save
+end