espn_nba_fantasy 0.0.4.1 → 0.0.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 625920e5a357e3f2eda3567e8241d14572c870da13407e3ab92a4c10d2478ca1
4
- data.tar.gz: d2cd2b8c2bbca0c7ce7bf1af48c9f5e7d2c15191c4d4aac73eef2c280cfbcd67
3
+ metadata.gz: 16fb774021db8dfb88cbb618a2eba2a1ea8b72bd9b233e013557a36cfbb07b8f
4
+ data.tar.gz: 418d47edb6aa4569dc52e1b96dfcfb87fd0e3d9a0990465d455766b785dc171b
5
5
  SHA512:
6
- metadata.gz: 6e7e2f7d59c0a87244665acc1b5a4dc2caffb0198f12eb02a86ee4d666a0dd84d7860fedc6e319c731921f1f1118785de56ad72f7dfef49eb2db5e27248c8425
7
- data.tar.gz: e7eb379f3712c83520146fef0f7c5b15669954d6068c66d07de0dfbb6b551da9aff543edabb4fb8cf36665ec17afc2ffc0112cf0c0793fd610f0dc3b2e9c321f
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 :name, :player_id, :position, :stats, :team
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
- @name = player['fullName']
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
 
@@ -3,7 +3,7 @@
3
3
  module PlayerFinder
4
4
 
5
5
  def find_players(arr, matcher)
6
- arr.select{|p| p.name.downcase == matcher.downcase}.first
6
+ arr.select{|p| p.full_name.downcase == matcher.downcase}.first
7
7
  end
8
8
 
9
9
  end
@@ -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.name},
42
- 'Receiving:' => other_players.map{|p| p.name}}.merge(new_team_stats(own_players, other_players))
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(&:name)
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.1
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-06-26 00:00:00.000000000 Z
11
+ date: 2024-07-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec