class Gwitch::Region::Europe
Constants
- API_URL
- MAX_ROWS
- QUERIES
((playable_on_txt:“HAC”)) means platform is nintendo switch
- RowsTooSmallError
Public Class Methods
games()
click to toggle source
# File lib/gwitch/region/europe.rb, line 24 def games uri = URI.parse(API_URL) uri.query = URI.encode_www_form(QUERIES) response = JSON.parse(uri.read)['response'] raise RowsTooSmallError if response['numFound'] > MAX_ROWS parse(response['docs']) end
Private Class Methods
parse(raw)
click to toggle source
# File lib/gwitch/region/europe.rb, line 36 def parse(raw) host = 'https://www.nintendo.co.uk' schema = 'https:' raw.map do |game| code = game['product_code_txt']&.first code = code[4..8] if code modes = [] modes << 'TV' if game['play_mode_tv_mode_b'] modes << 'TABLETOP' if game['play_mode_tabletop_mode_b'] modes << 'HANDHELD' if game['play_mode_handheld_mode_b'] url = game['url'] ? host + game['url'] : nil { nsuid: game['nsuid_txt'] || [], code: code, title: game['title'], description: game['excerpt'], categories: game['pretty_game_categories_txt'] || [], maker: game['publisher'], player: game['players_to'], languages: game['language_availability']&.first&.split(',') || [], modes: modes, cloud_save: game['cloud_saves_b'], region: 'Europe', images: [ schema + game['image_url'], schema + game['image_url_sq_s'], schema + game['image_url_h2x1_s'], schema + game['gift_finder_carousel_image_url_s'], schema + game['gift_finder_detail_page_image_url_s'], schema + game['gift_finder_wishlist_image_url_s'], schema + game['wishlist_email_square_image_url_s'], schema + game['wishlist_email_banner460w_image_url_s'], schema + game['wishlist_email_banner640w_image_url_s'] ], url: url, release_at: game['dates_released_dts']&.first } end end