mlb_stats_api 0.2.5 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/rspec.yml +30 -0
- data/.rubocop.yml +69 -4
- data/.vscode/settings.json +12 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +56 -34
- data/bin/console +2 -2
- data/lib/mlb_stats_api/base.rb +2 -6
- data/lib/mlb_stats_api/client.rb +3 -8
- data/lib/mlb_stats_api/color_feed.rb +2 -1
- data/lib/mlb_stats_api/conferences.rb +3 -10
- data/lib/mlb_stats_api/config.rb +14 -57
- data/lib/mlb_stats_api/divisions.rb +1 -5
- data/lib/mlb_stats_api/drafts.rb +4 -15
- data/lib/mlb_stats_api/errors.rb +7 -7
- data/lib/mlb_stats_api/games.rb +23 -51
- data/lib/mlb_stats_api/home_run_derby.rb +3 -13
- data/lib/mlb_stats_api/leagues.rb +9 -16
- data/lib/mlb_stats_api/live_feed.rb +12 -29
- data/lib/mlb_stats_api/people.rb +4 -7
- data/lib/mlb_stats_api/schedules.rb +4 -7
- data/lib/mlb_stats_api/seasons.rb +2 -9
- data/lib/mlb_stats_api/sports.rb +6 -18
- data/lib/mlb_stats_api/standings.rb +2 -4
- data/lib/mlb_stats_api/stats.rb +5 -10
- data/lib/mlb_stats_api/team.rb +10 -30
- data/lib/mlb_stats_api/teams.rb +8 -20
- data/lib/mlb_stats_api/venues.rb +2 -6
- data/lib/mlb_stats_api/version.rb +1 -1
- data/mlb_stats_api.gemspec +13 -10
- metadata +38 -22
- data/.travis.yml +0 -6
@@ -2,7 +2,6 @@
|
|
2
2
|
|
3
3
|
module MLBStatsAPI
|
4
4
|
# Operations pertaining to leagues
|
5
|
-
# @see https://statsapi.mlb.com/docs/#tag/league
|
6
5
|
module Leagues
|
7
6
|
LEAGUES = {
|
8
7
|
american: 103,
|
@@ -24,37 +23,31 @@ module MLBStatsAPI
|
|
24
23
|
}.freeze
|
25
24
|
|
26
25
|
# View league information.
|
27
|
-
|
28
|
-
|
29
|
-
unless options[:sportId] || options[:leagueIds]
|
30
|
-
raise ArgumentError, '#leagues requires a sportId or leagueIds'
|
31
|
-
end
|
26
|
+
def leagues(**options)
|
27
|
+
raise ArgumentError, '#leagues requires a sportId or leagueIds' unless options[:sportId] || options[:leagueIds]
|
32
28
|
|
33
|
-
get '/league', options
|
29
|
+
get '/league', **options
|
34
30
|
end
|
35
31
|
|
36
32
|
# View All-Star Ballots per league.
|
37
|
-
|
38
|
-
def all_star_ballot(league_id, season = nil, options = {})
|
33
|
+
def all_star_ballot(league_id, season = nil, **options)
|
39
34
|
options[:season] = season || Time.now.year
|
40
35
|
|
41
|
-
get "/league/#{league_id}/allStarBallot", options
|
36
|
+
get "/league/#{league_id}/allStarBallot", **options
|
42
37
|
end
|
43
38
|
|
44
39
|
# View All-Star Write-ins per league.
|
45
|
-
|
46
|
-
def all_star_write_ins(league_id, season = nil, options = {})
|
40
|
+
def all_star_write_ins(league_id, season = nil, **options)
|
47
41
|
options[:season] = season || Time.now.year
|
48
42
|
|
49
|
-
get "/league/#{league_id}/allStarWriteIns", options
|
43
|
+
get "/league/#{league_id}/allStarWriteIns", **options
|
50
44
|
end
|
51
45
|
|
52
46
|
# View All-Star Final Vote per league.
|
53
|
-
|
54
|
-
def all_star_final_vote(league_id, season = nil, options = {})
|
47
|
+
def all_star_final_vote(league_id, season = nil, **options)
|
55
48
|
options[:season] = season || Time.now.year
|
56
49
|
|
57
|
-
get "/league/#{league_id}/allStarFinalVote", options
|
50
|
+
get "/league/#{league_id}/allStarFinalVote", **options
|
58
51
|
end
|
59
52
|
end
|
60
53
|
end
|
@@ -5,48 +5,31 @@ module MLBStatsAPI
|
|
5
5
|
attr_reader :id
|
6
6
|
|
7
7
|
def initialize(api, data)
|
8
|
+
super(data)
|
9
|
+
|
8
10
|
@api = api
|
9
|
-
@data = data
|
10
11
|
|
11
12
|
# If we need to nuke and start over, keep this piece
|
12
13
|
@id = data['gamePk']
|
13
14
|
end
|
14
15
|
|
15
|
-
def
|
16
|
-
@data['liveData']['boxscore']
|
17
|
-
end
|
16
|
+
def game_data = @data['gameData']
|
18
17
|
|
19
|
-
def
|
20
|
-
@data['liveData']['decisions']
|
21
|
-
end
|
18
|
+
def live_data = @data['liveData']
|
22
19
|
|
23
|
-
def
|
24
|
-
@data['liveData']['leaders']
|
25
|
-
end
|
20
|
+
def metadata = @data['metaData']
|
26
21
|
|
27
|
-
def
|
28
|
-
@data['liveData']['linescore']
|
29
|
-
end
|
22
|
+
def boxscore = @data.dig('liveData', 'boxscore')
|
30
23
|
|
31
|
-
def
|
32
|
-
@data['liveData']['plays']
|
33
|
-
end
|
24
|
+
def decisions = @data.dig('liveData', 'decisions')
|
34
25
|
|
35
|
-
def
|
36
|
-
@data['gameData']
|
37
|
-
end
|
26
|
+
def leaders = @data.dig('liveData', 'leaders')
|
38
27
|
|
39
|
-
def
|
40
|
-
@data['liveData']
|
41
|
-
end
|
28
|
+
def linescore = @data.dig('liveData', 'linescore')
|
42
29
|
|
43
|
-
def
|
44
|
-
@data['metaData']
|
45
|
-
end
|
30
|
+
def plays = @data.dig('liveData', 'plays')
|
46
31
|
|
47
|
-
def timestamps
|
48
|
-
@api.live_feed_timestamps(@id)
|
49
|
-
end
|
32
|
+
def timestamps = @api.live_feed_timestamps(@id)
|
50
33
|
|
51
34
|
def reload!
|
52
35
|
@data = @api.get("/game/#{@id}/feed/live", version: '1.1')
|
@@ -61,7 +44,7 @@ module MLBStatsAPI
|
|
61
44
|
|
62
45
|
diffs = @api.live_feed_diff(
|
63
46
|
@data['gamePk'],
|
64
|
-
timecode: @data
|
47
|
+
timecode: @data.dig('metaData', 'timeStamp')
|
65
48
|
)
|
66
49
|
|
67
50
|
return process_diffs(diffs) if diffs.is_a?(Array)
|
data/lib/mlb_stats_api/people.rb
CHANGED
@@ -2,14 +2,12 @@
|
|
2
2
|
|
3
3
|
module MLBStatsAPI
|
4
4
|
# Operations pertaining to players, umpires, and coaches
|
5
|
-
# @see https://statsapi.mlb.com/docs/#tag/person
|
6
5
|
module People
|
7
6
|
# View one or more person's stats and biographical information.
|
8
|
-
|
9
|
-
def person(person_ids, options = {})
|
7
|
+
def person(person_ids, **options)
|
10
8
|
ids = Array(person_ids)
|
11
9
|
|
12
|
-
result = get('/people', options.merge(personIds: ids))
|
10
|
+
result = get('/people', **options.merge(personIds: ids))['people']
|
13
11
|
|
14
12
|
return result.first if ids.length == 1
|
15
13
|
|
@@ -18,11 +16,10 @@ module MLBStatsAPI
|
|
18
16
|
alias people person
|
19
17
|
|
20
18
|
# View a player's stats for a specific game.
|
21
|
-
|
22
|
-
def person_game_stats(person_id, options = {})
|
19
|
+
def person_game_stats(person_id, **options)
|
23
20
|
game = options.delete(:gamePk) || 'current'
|
24
21
|
|
25
|
-
get("/people/#{person_id}/stats/game/#{game}", options)
|
22
|
+
get("/people/#{person_id}/stats/game/#{game}", **options)['stats']
|
26
23
|
end
|
27
24
|
end
|
28
25
|
end
|
@@ -10,15 +10,12 @@ module MLBStatsAPI
|
|
10
10
|
tune_in: '/schedule/postseason/tuneIn'
|
11
11
|
}.freeze
|
12
12
|
|
13
|
-
def schedule(
|
14
|
-
|
15
|
-
options = type
|
16
|
-
type = :default
|
17
|
-
end
|
13
|
+
def schedule(**options)
|
14
|
+
endpoint = SCHEDULE_TYPES[options.delete(:type) || :default]
|
18
15
|
|
19
|
-
raise ArgumentError, '
|
16
|
+
raise ArgumentError, 'Invalid schedule type.' unless endpoint
|
20
17
|
|
21
|
-
get
|
18
|
+
get endpoint, **{ sportId: 1 }.merge(options)
|
22
19
|
end
|
23
20
|
end
|
24
21
|
end
|
@@ -2,18 +2,11 @@
|
|
2
2
|
|
3
3
|
module MLBStatsAPI
|
4
4
|
# Operations pertaining to seasons
|
5
|
-
# @see https://statsapi.mlb.com/docs/#tag/season
|
6
5
|
module Seasons
|
7
6
|
# View current season info.
|
8
|
-
|
9
|
-
def seasons(options = {})
|
10
|
-
get '/seasons', { sportId: 1 }.merge(options)
|
11
|
-
end
|
7
|
+
def seasons(**options) = get('/seasons', **{ sportId: 1 }.merge(options))
|
12
8
|
|
13
9
|
# View information on an individual season.
|
14
|
-
|
15
|
-
def season(year, options = {})
|
16
|
-
get "/seasons/#{year}", { sportId: 1 }.merge(options)
|
17
|
-
end
|
10
|
+
def season(year, **options) = get("/seasons/#{year}", **{ sportId: 1 }.merge(options))
|
18
11
|
end
|
19
12
|
end
|
data/lib/mlb_stats_api/sports.rb
CHANGED
@@ -2,26 +2,14 @@
|
|
2
2
|
|
3
3
|
module MLBStatsAPI
|
4
4
|
# Operations pertaining to sports
|
5
|
-
# @see https://statsapi.mlb.com/docs/#tag/sports
|
6
5
|
module Sports
|
7
|
-
# View information for all
|
8
|
-
|
9
|
-
def sports
|
10
|
-
get '/sports'
|
11
|
-
end
|
6
|
+
# View information for all sports.
|
7
|
+
def sports = get('/sports')
|
12
8
|
|
13
|
-
# View information for any given
|
14
|
-
|
15
|
-
def sport(sport_id, options = {})
|
16
|
-
get "/sports/#{sport_id}", options
|
17
|
-
end
|
9
|
+
# View information for any given sport ID.
|
10
|
+
def sport(sport_id, **options) = get("/sports/#{sport_id}", **options)
|
18
11
|
|
19
|
-
# View information on
|
20
|
-
|
21
|
-
def sport_players(sport_id, season, options = {})
|
22
|
-
options[:season] = season
|
23
|
-
|
24
|
-
get "/sports/#{sport_id}/players", options
|
25
|
-
end
|
12
|
+
# View information on all players for a given sport ID, optionally filtered by season.
|
13
|
+
def sport_players(sport_id, season, **options) = get("/sports/#{sport_id}/players", **options.merge(season:))
|
26
14
|
end
|
27
15
|
end
|
@@ -2,11 +2,9 @@
|
|
2
2
|
|
3
3
|
module MLBStatsAPI
|
4
4
|
# Operations pertaining to standings
|
5
|
-
# @see https://statsapi.mlb.com/docs/#tag/standings
|
6
5
|
module Standings
|
7
6
|
# View standings for a league.
|
8
|
-
|
9
|
-
def standings(options = {})
|
7
|
+
def standings(**options)
|
10
8
|
options[:hydrate] = 'team' unless options.key?(:hydrate)
|
11
9
|
|
12
10
|
if options[:leagues] && !options[:leagueId]
|
@@ -17,7 +15,7 @@ module MLBStatsAPI
|
|
17
15
|
|
18
16
|
options[:leagueId] = [103, 104] unless Array(options[:leagueId])&.any?
|
19
17
|
|
20
|
-
get '/standings', options
|
18
|
+
get '/standings', **options
|
21
19
|
end
|
22
20
|
end
|
23
21
|
end
|
data/lib/mlb_stats_api/stats.rb
CHANGED
@@ -2,25 +2,20 @@
|
|
2
2
|
|
3
3
|
module MLBStatsAPI
|
4
4
|
# Operations pertaining to stats
|
5
|
-
# @see https://statsapi.mlb.com/docs/#tag/stats
|
6
5
|
module Stats
|
7
6
|
# View statistics based on statType, group, season, and organization.
|
8
|
-
|
9
|
-
def stats(options = {})
|
7
|
+
def stats(**options)
|
10
8
|
raise ArgumentError, '#stats requires a stats arg' unless options[:stats]
|
11
9
|
raise ArgumentError, '#stats requires a group arg' unless options[:group]
|
12
10
|
|
13
|
-
get '/stats', options
|
11
|
+
get '/stats', **options
|
14
12
|
end
|
15
13
|
|
16
14
|
# View leaders for a statistic.
|
17
|
-
|
18
|
-
|
19
|
-
unless options[:leaderCategories]
|
20
|
-
raise ArgumentError, '#stats_leaders requires a leaderCategories arg'
|
21
|
-
end
|
15
|
+
def stats_leaders(**options)
|
16
|
+
raise ArgumentError, '#stats_leaders requires a leaderCategories arg' unless options[:leaderCategories]
|
22
17
|
|
23
|
-
get '/stats/leaders', options
|
18
|
+
get '/stats/leaders', **options
|
24
19
|
end
|
25
20
|
end
|
26
21
|
end
|
data/lib/mlb_stats_api/team.rb
CHANGED
@@ -2,46 +2,26 @@
|
|
2
2
|
|
3
3
|
module MLBStatsAPI
|
4
4
|
class Team < Base
|
5
|
-
def id
|
6
|
-
@data['id']
|
7
|
-
end
|
5
|
+
def id = @data['id']
|
8
6
|
|
9
|
-
def name
|
10
|
-
@data['teamName']
|
11
|
-
end
|
7
|
+
def name = @data['teamName']
|
12
8
|
|
13
|
-
def location
|
14
|
-
@data['locationName']
|
15
|
-
end
|
9
|
+
def location = @data['locationName']
|
16
10
|
|
17
|
-
def abbreviation
|
18
|
-
@data['abbreviation']
|
19
|
-
end
|
11
|
+
def abbreviation = @data['abbreviation']
|
20
12
|
alias code abbreviation
|
21
13
|
|
22
|
-
def file_code
|
23
|
-
@data['fileCode']
|
24
|
-
end
|
14
|
+
def file_code = @data['fileCode']
|
25
15
|
|
26
|
-
def short_name
|
27
|
-
@data['shortName']
|
28
|
-
end
|
16
|
+
def short_name = @data['shortName']
|
29
17
|
|
30
|
-
def league_id
|
31
|
-
@data.dig('league', 'id')
|
32
|
-
end
|
18
|
+
def league_id = @data.dig('league', 'id')
|
33
19
|
|
34
|
-
def division_id
|
35
|
-
@data.dig('division', 'id')
|
36
|
-
end
|
20
|
+
def division_id = @data.dig('division', 'id')
|
37
21
|
|
38
|
-
def full_name
|
39
|
-
@data['name']
|
40
|
-
end
|
22
|
+
def full_name = @data['name']
|
41
23
|
|
42
24
|
# So we don't get huge printouts
|
43
|
-
def inspect
|
44
|
-
%(#<MLBGameday::Team @name="#{name}">)
|
45
|
-
end
|
25
|
+
def inspect = %(#<MLBGameday::Team @name="#{name}">)
|
46
26
|
end
|
47
27
|
end
|
data/lib/mlb_stats_api/teams.rb
CHANGED
@@ -26,36 +26,24 @@ module MLBStatsAPI
|
|
26
26
|
teams.concat load_teams_by_id(ids)
|
27
27
|
end
|
28
28
|
|
29
|
-
def affiliates(team_id, season: nil)
|
30
|
-
get "/teams/#{team_id}/affiliates", season: season
|
31
|
-
end
|
32
|
-
|
33
|
-
def coaches(team_id, date: nil)
|
34
|
-
date ||= Date.today
|
29
|
+
def affiliates(team_id, season: nil) = get("/teams/#{team_id}/affiliates", season:)
|
35
30
|
|
36
|
-
|
37
|
-
end
|
31
|
+
def coaches(team_id, date: nil) = get("/teams/#{team_id}/coaches", date: (date || Date.today).strftime('%m/%d/%Y'))
|
38
32
|
|
39
|
-
# def leaders(team_id)
|
40
|
-
# get("/teams/#{team_id}/leaders")
|
41
|
-
# end
|
33
|
+
# def leaders(team_id) = get("/teams/#{team_id}/leaders")
|
42
34
|
|
43
|
-
def roster(team_id, type:, date: nil)
|
44
|
-
get "/teams/#{team_id}/roster/#{type}", date: date.strftime('%m/%d/%Y')
|
45
|
-
end
|
35
|
+
def roster(team_id, type:, date: nil) = get("/teams/#{team_id}/roster/#{type}", date: date.strftime('%m/%d/%Y'))
|
46
36
|
|
47
37
|
protected
|
48
38
|
|
49
39
|
def load_teams_by_id(ids)
|
50
40
|
return [] if ids.none?
|
51
41
|
|
52
|
-
get('/teams', teamId: ids.join(','), hydrate: 'venue(timezone)')
|
53
|
-
.
|
54
|
-
.map do |data|
|
55
|
-
@cache.store("mlb_stats_api:teams:#{data['id']}", data)
|
42
|
+
get('/teams', teamId: ids.join(','), hydrate: 'venue(timezone)')['teams'].map do |data|
|
43
|
+
@cache.store("mlb_stats_api:teams:#{data['id']}", data)
|
56
44
|
|
57
|
-
|
58
|
-
|
45
|
+
MLBStatsAPI::Team.new(data)
|
46
|
+
end
|
59
47
|
end
|
60
48
|
end
|
61
49
|
end
|
data/lib/mlb_stats_api/venues.rb
CHANGED
@@ -2,12 +2,8 @@
|
|
2
2
|
|
3
3
|
module MLBStatsAPI
|
4
4
|
# Operations pertaining to venues
|
5
|
-
# @see https://statsapi.mlb.com/docs/#tag/venue
|
6
5
|
module Venues
|
7
|
-
# View information for a venue based on
|
8
|
-
|
9
|
-
def venue(venue_id)
|
10
|
-
get("/venues/#{venue_id}").dig('venues', 0)
|
11
|
-
end
|
6
|
+
# View information for a venue based on venue ID.
|
7
|
+
def venue(venue_id) = get("/venues/#{venue_id}").dig('venues', 0)
|
12
8
|
end
|
13
9
|
end
|
data/mlb_stats_api.gemspec
CHANGED
@@ -9,24 +9,27 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.version = MLBStatsAPI::VERSION
|
10
10
|
spec.authors = ['Steven Hoffman']
|
11
11
|
spec.email = ['git@fustrate.com']
|
12
|
+
spec.metadata = {
|
13
|
+
'rubygems_mfa_required' => 'true'
|
14
|
+
}
|
12
15
|
|
13
16
|
spec.summary = %(MLB has a new Stats API!)
|
14
17
|
spec.homepage = 'http://github.com/fustrate/mlb_stats_api'
|
15
18
|
spec.license = 'MIT'
|
19
|
+
spec.required_ruby_version = '>= 3.1.0'
|
16
20
|
|
17
|
-
spec.files = `git ls-files -z`.split("\x0").reject
|
18
|
-
f.match(%r{^(test|spec|features)/})
|
19
|
-
end
|
21
|
+
spec.files = `git ls-files -z`.split("\x0").reject { _1.match(%r{^(test|spec|features)/}) }
|
20
22
|
spec.bindir = 'exe'
|
21
|
-
spec.executables = spec.files.grep(%r{^exe/}) {
|
23
|
+
spec.executables = spec.files.grep(%r{^exe/}) { File.basename(_1) }
|
22
24
|
spec.require_paths = ['lib']
|
23
25
|
|
24
|
-
spec.add_development_dependency 'bundler', '>
|
25
|
-
spec.add_development_dependency 'rake', '>
|
26
|
-
spec.add_development_dependency 'rspec', '~> 3.
|
27
|
-
spec.add_development_dependency '
|
26
|
+
spec.add_development_dependency 'bundler', '> 2.3'
|
27
|
+
spec.add_development_dependency 'rake', '> 13.0'
|
28
|
+
spec.add_development_dependency 'rspec', '~> 3.11'
|
29
|
+
spec.add_development_dependency 'rubocop', '~> 1.37'
|
30
|
+
spec.add_development_dependency 'webmock', '~> 3.18'
|
28
31
|
|
29
32
|
spec.add_dependency 'hana', '~> 1.3'
|
30
|
-
spec.add_dependency 'httparty', '~> 0.
|
31
|
-
spec.add_dependency 'moneta', '~> 1.
|
33
|
+
spec.add_dependency 'httparty', '~> 0.20'
|
34
|
+
spec.add_dependency 'moneta', '~> 1.5'
|
32
35
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mlb_stats_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Steven Hoffman
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-10-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,56 +16,70 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '2.3'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '2.3'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '13.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ">"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '13.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '3.
|
47
|
+
version: '3.11'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '3.
|
54
|
+
version: '3.11'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rubocop
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1.37'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '1.37'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: webmock
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
58
72
|
requirements:
|
59
73
|
- - "~>"
|
60
74
|
- !ruby/object:Gem::Version
|
61
|
-
version: '3.
|
75
|
+
version: '3.18'
|
62
76
|
type: :development
|
63
77
|
prerelease: false
|
64
78
|
version_requirements: !ruby/object:Gem::Requirement
|
65
79
|
requirements:
|
66
80
|
- - "~>"
|
67
81
|
- !ruby/object:Gem::Version
|
68
|
-
version: '3.
|
82
|
+
version: '3.18'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: hana
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -86,38 +100,39 @@ dependencies:
|
|
86
100
|
requirements:
|
87
101
|
- - "~>"
|
88
102
|
- !ruby/object:Gem::Version
|
89
|
-
version: '0.
|
103
|
+
version: '0.20'
|
90
104
|
type: :runtime
|
91
105
|
prerelease: false
|
92
106
|
version_requirements: !ruby/object:Gem::Requirement
|
93
107
|
requirements:
|
94
108
|
- - "~>"
|
95
109
|
- !ruby/object:Gem::Version
|
96
|
-
version: '0.
|
110
|
+
version: '0.20'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: moneta
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
100
114
|
requirements:
|
101
115
|
- - "~>"
|
102
116
|
- !ruby/object:Gem::Version
|
103
|
-
version: '1.
|
117
|
+
version: '1.5'
|
104
118
|
type: :runtime
|
105
119
|
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
107
121
|
requirements:
|
108
122
|
- - "~>"
|
109
123
|
- !ruby/object:Gem::Version
|
110
|
-
version: '1.
|
111
|
-
description:
|
124
|
+
version: '1.5'
|
125
|
+
description:
|
112
126
|
email:
|
113
127
|
- git@fustrate.com
|
114
128
|
executables: []
|
115
129
|
extensions: []
|
116
130
|
extra_rdoc_files: []
|
117
131
|
files:
|
132
|
+
- ".github/workflows/rspec.yml"
|
118
133
|
- ".gitignore"
|
119
134
|
- ".rubocop.yml"
|
120
|
-
- ".
|
135
|
+
- ".vscode/settings.json"
|
121
136
|
- Gemfile
|
122
137
|
- Gemfile.lock
|
123
138
|
- LICENSE.txt
|
@@ -152,8 +167,9 @@ files:
|
|
152
167
|
homepage: http://github.com/fustrate/mlb_stats_api
|
153
168
|
licenses:
|
154
169
|
- MIT
|
155
|
-
metadata:
|
156
|
-
|
170
|
+
metadata:
|
171
|
+
rubygems_mfa_required: 'true'
|
172
|
+
post_install_message:
|
157
173
|
rdoc_options: []
|
158
174
|
require_paths:
|
159
175
|
- lib
|
@@ -161,15 +177,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
161
177
|
requirements:
|
162
178
|
- - ">="
|
163
179
|
- !ruby/object:Gem::Version
|
164
|
-
version:
|
180
|
+
version: 3.1.0
|
165
181
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
166
182
|
requirements:
|
167
183
|
- - ">="
|
168
184
|
- !ruby/object:Gem::Version
|
169
185
|
version: '0'
|
170
186
|
requirements: []
|
171
|
-
rubygems_version: 3.
|
172
|
-
signing_key:
|
187
|
+
rubygems_version: 3.3.23
|
188
|
+
signing_key:
|
173
189
|
specification_version: 4
|
174
190
|
summary: MLB has a new Stats API!
|
175
191
|
test_files: []
|