Sha256: 8d33e9e5ac0666b1a50a548d023119f38acdead90cac0c5e3f793cf9a8615263

Contents?: true

Size: 1.79 KB

Versions: 17

Compression:

Stored size: 1.79 KB

Contents

module Sportradar
  module Api
    module Soccer
      class Api < Request
        attr_accessor :league_group, :access_level, :language_code, :error

        def initialize(access_level: default_access_level, league_group:, language_code: 'en')
          @league_group = league_group
          @language_code = language_code
          @access_level = access_level
          raise Sportradar::Api::Error::InvalidLeague unless allowed_leagues.include? @league_group
          raise Sportradar::Api::Error::InvalidAccessLevel unless allowed_access_levels.include? @access_level
        end

        def default_year
          (Date.today - 210).year # TODO
        end
        def default_season
          'reg'
        end
        def default_access_level
          if (ENV['SPORTRADAR_SOCCER_ENV'] || ENV['SPORTRADAR_ENV'] || ENV['RACK_ENV'] || ENV['RAILS_ENV']) == 'production'
            'x'
          else
            'xt'
          end
        end

        def content_format
          'json'
        end

        private

        def request_url(path)
          "/soccer-#{access_level}#{version}/#{league_group}/#{language_code}/#{path}"
        end

        def api_key
          if !['xt', 'sim'].include?(access_level) || (access_level == 'sim' && default_access_level == 'x')
            Sportradar::Api.api_key_params("soccer-#{@league_group}", 'production')
          else
            Sportradar::Api.api_key_params("soccer-#{@league_group}")
          end
        end

        def version
          Sportradar::Api.version('soccer')
        end

        def allowed_access_levels
          %w[x xt sim]
        end

        def allowed_leagues
          ["eu", "am", "as", "intl", "other", "global"]
        end

        # def allowed_seasons
        #   ["pre", "reg", "pst"]
        # end
      end

    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
sportradar-api-0.16.1 lib/sportradar/api/soccer/api.rb
sportradar-api-0.16.0 lib/sportradar/api/soccer/api.rb
sportradar-api-0.15.1 lib/sportradar/api/soccer/api.rb
sportradar-api-0.15.0 lib/sportradar/api/soccer/api.rb
sportradar-api-0.14.0 lib/sportradar/api/soccer/api.rb
sportradar-api-0.13.26 lib/sportradar/api/soccer/api.rb
sportradar-api-0.13.25 lib/sportradar/api/soccer/api.rb
sportradar-api-0.13.24 lib/sportradar/api/soccer/api.rb
sportradar-api-0.13.23 lib/sportradar/api/soccer/api.rb
sportradar-api-0.13.22 lib/sportradar/api/soccer/api.rb
sportradar-api-0.13.21 lib/sportradar/api/soccer/api.rb
sportradar-api-0.13.20 lib/sportradar/api/soccer/api.rb
sportradar-api-0.13.19 lib/sportradar/api/soccer/api.rb
sportradar-api-0.13.18 lib/sportradar/api/soccer/api.rb
sportradar-api-0.13.17 lib/sportradar/api/soccer/api.rb
sportradar-api-0.13.16 lib/sportradar/api/soccer/api.rb
sportradar-api-0.13.15 lib/sportradar/api/soccer/api.rb