espn_nba_fantasy 0.0.4.1 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 16fb774021db8dfb88cbb618a2eba2a1ea8b72bd9b233e013557a36cfbb07b8f
|
4
|
+
data.tar.gz: 418d47edb6aa4569dc52e1b96dfcfb87fd0e3d9a0990465d455766b785dc171b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0a9cd198d656352685ba648193a3d1d7286ace3842cba6a65beac6c504281546722257e92a6f70f8814c4d10a4cf1578884109f7bb8d58a8732f84157e222309
|
7
|
+
data.tar.gz: d32621f9f42263337d3ce84db10a1399b035680c185a2f968525d7a30b949fa4379c3823456a42cd686845f18bc0ff8832f486c5eb84fe1a61c5d44b21a8cc39
|
@@ -9,18 +9,20 @@ module ESPNNBAFantasy
|
|
9
9
|
|
10
10
|
include PlayerFinder
|
11
11
|
|
12
|
-
attr_accessor :teams, :stat_data
|
12
|
+
attr_accessor :teams, :stat_data, :league_id, :name, :current_start_year, :current_end_year
|
13
13
|
|
14
14
|
#initializes the league
|
15
15
|
|
16
16
|
def initialize(league_id, year, s2, sw)
|
17
|
-
@league_id = league_id
|
18
|
-
|
19
17
|
@uri = "https://lm-api-reads.fantasy.espn.com/apis/v3/games/fba/seasons/#{year}/segments/0/leagues/#{league_id}?view=mRoster&view=mSettings&view=mTeam&view=modular&view=mNav"
|
20
18
|
@cookies = {'espn_s2': "#{s2}", 'SWID': "#{sw}"}
|
21
19
|
@data = JSON.parse(RestClient.get(@uri, {cookies: @cookies}))
|
22
20
|
@teams = make_team_objects
|
23
21
|
@stat_data = make_stat_data
|
22
|
+
@league_id = @data['id']
|
23
|
+
@name = @data['name']
|
24
|
+
@current_start_year = @data['seasonId']
|
25
|
+
@current_end_year = @current_start_year + 1
|
24
26
|
end
|
25
27
|
|
26
28
|
def to_s
|
@@ -36,7 +38,7 @@ module ESPNNBAFantasy
|
|
36
38
|
#pull up a Player object based on their name and their team
|
37
39
|
|
38
40
|
def findplayer(team_name, str)
|
39
|
-
team = teams.select{|t| t.name == team_name}.first
|
41
|
+
team = @teams.select{|t| t.name == team_name}.first
|
40
42
|
return "No team named #{team_name}" unless team
|
41
43
|
|
42
44
|
find_players(team.players, str) || "#{str} cannot be found in #{team_name}'s roster"
|
@@ -45,7 +47,7 @@ module ESPNNBAFantasy
|
|
45
47
|
private
|
46
48
|
|
47
49
|
def make_team_objects
|
48
|
-
@data['teams'].map{|team| Team.new(team, self)}
|
50
|
+
@data['teams'].map{|team| ESPNNBAFantasy::Team.new(team, self)}
|
49
51
|
end
|
50
52
|
|
51
53
|
def make_stat_data
|
@@ -69,7 +71,7 @@ module ESPNNBAFantasy
|
|
69
71
|
end
|
70
72
|
|
71
73
|
def std_dev(mean, values)
|
72
|
-
sum = values.inject(0){|accum, i| accum +(i-mean)**2 }
|
74
|
+
sum = values.inject(0){|accum, i| accum + (i-mean)**2 }
|
73
75
|
variance = sum/(values.length - 1).to_f
|
74
76
|
Math.sqrt(variance)
|
75
77
|
end
|
@@ -6,16 +6,21 @@ module ESPNNBAFantasy
|
|
6
6
|
|
7
7
|
include CalculateStats
|
8
8
|
|
9
|
-
attr_reader :
|
9
|
+
attr_reader :first_name, :last_name, :full_name,
|
10
|
+
:player_id, :position, :stats, :team,
|
11
|
+
:slug
|
10
12
|
|
11
13
|
#basic initialization with attributes
|
12
14
|
|
13
15
|
def initialize(player, team)
|
14
|
-
@
|
16
|
+
@first_name = player['firstName']
|
17
|
+
@last_name = player['lastName']
|
18
|
+
@full_name = player['fullName']
|
15
19
|
@player_id = player['id']
|
16
|
-
@position = POSITION_MAP[player['defaultPositionId']-1]
|
20
|
+
@position = ESPNNBAFantasy::POSITION_MAP[player['defaultPositionId']-1]
|
17
21
|
@stats = stat_card_maker(player)
|
18
22
|
@team = team
|
23
|
+
@slug = @full_name.scan(/\w+|\s/).join.downcase.split(' ').join('-')
|
19
24
|
end
|
20
25
|
|
21
26
|
def to_s
|
@@ -26,7 +31,7 @@ module ESPNNBAFantasy
|
|
26
31
|
|
27
32
|
def stat_card_maker(player)
|
28
33
|
avgstats = player['stats'].first['averageStats']
|
29
|
-
statcard = avgstats ? avgstats.transform_keys!{ |k| STATS_MAP[k] }.slice(*STATS) : EMPTY_STATS
|
34
|
+
statcard = avgstats ? avgstats.transform_keys!{ |k| ESPNNBAFantasy::STATS_MAP[k] }.slice(*ESPNNBAFantasy::STATS) : ESPNNBAFantasy::EMPTY_STATS
|
30
35
|
calculate_stats(statcard)
|
31
36
|
end
|
32
37
|
|
@@ -38,15 +38,15 @@ module ESPNNBAFantasy
|
|
38
38
|
own_players = to_trade.map{|player| find_players(players, player)}
|
39
39
|
other_players = to_receive.map{|player| find_players(other_team.players, player)}
|
40
40
|
return "This trade included players not one of the specified teams" if (own_players.include?(nil)|| other_players.include?(nil))
|
41
|
-
{'Trading:' => own_players.map{|p| p.
|
42
|
-
'Receiving:' => other_players.map{|p| p.
|
41
|
+
{'Trading:' => own_players.map{|p| p.full_name},
|
42
|
+
'Receiving:' => other_players.map{|p| p.full_name}}.merge(new_team_stats(own_players, other_players))
|
43
43
|
|
44
44
|
end
|
45
45
|
|
46
46
|
private
|
47
47
|
|
48
48
|
def roster_names
|
49
|
-
players.map(&:
|
49
|
+
players.map(&:full_name)
|
50
50
|
end
|
51
51
|
|
52
52
|
def stat_differences(old, new)
|
@@ -62,7 +62,7 @@ module ESPNNBAFantasy
|
|
62
62
|
end
|
63
63
|
|
64
64
|
def roster_maker(obj)
|
65
|
-
obj['roster']['entries'].map {|e| Player.new(e['playerPoolEntry']['player'], self)}
|
65
|
+
obj['roster']['entries'].map {|e| ESPNNBAFantasy::Player.new(e['playerPoolEntry']['player'], self)}
|
66
66
|
end
|
67
67
|
|
68
68
|
def make_team_stats(ros)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: espn_nba_fantasy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Usborn Ocampo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-07-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|