This commit is contained in:
2026-05-13 22:35:24 +02:00
parent 1ae4734e81
commit c2e6466022
18 changed files with 311 additions and 317 deletions

View File

@@ -0,0 +1,25 @@
# frozen_string_literal: true
class GameModel
attr_reader :title, :platform, :author, :desc, :story,
:play_path, :download_path, :source_path, :docs_path,
:release_count, :external_links
def initialize(entry)
sw = entry['software'] || {}
latest = entry['latestRelease'] || {}
@title = sw['title'].to_s
@platform = sw['platform'].to_s
@author = sw['author'].to_s
@desc = sw['desc'].to_s
@story = sw['story'].to_s
@play_path = latest['htmlFolderPath'].to_s
@download_path = latest['cartridgePath'].to_s
@source_path = latest['sourcePath'].to_s
@docs_path = latest['docsFolderPath'].to_s
@release_count = (entry['releases'] || []).length
@external_links = (sw['externalLinks'] || []).filter_map do |l|
{ label: l['label'].to_s, url: l['url'].to_s } unless l['url'].to_s.empty?
end
end
end