espn_nba_fantasy 0.0.4.2 → 1.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 83a5c2da0e0d31e6b001446932c7a662106beab66939bb104579ee750f57c7ae
4
- data.tar.gz: ea0cf431f9f38b8b9d828773a408a95613200d7300ba2debc85270555b0a87fa
3
+ metadata.gz: e525cd853cdbf18b2ce2db80ccd0e80a46af69facd46817334a0facf9edcb9b5
4
+ data.tar.gz: 174cc7b70bef212dcbcd35649c62040bd101227e8eca35789ad4af6b00ab090f
5
5
  SHA512:
6
- metadata.gz: 52999c9d94429c9d185df2954830a67a7de9d23ddf1058569a7e3624bc79900a69faa99cc5d24de48bb4aee2a505a7cb7abe19fb2eb625e0af751e107c2f6a00
7
- data.tar.gz: 9119715738ed4670859edb933f82e588da837177cfa529f1768797a8b0b7dba7c0514a9f4e803eed98de3cb1a7ad18fce01d0137dc06240c8df8fe1ea62c675e
6
+ metadata.gz: f6e91b50da4dfe5c46bf6e994356bcc9516b6cb6e2696f3b087d8a10ef0ae51371d3efbd6bdf9f1843f9e4ffb435929a12daefd66f6e4930d2ca7a78af238619
7
+ data.tar.gz: 654d3be2486b24728b49123fc0f426b0495fb935e24a4f00dc07904398367a8fee82f11bbbb78d03b5603a68873f56577707f8e1debec5ceafcba0cd9c0cc9f5
@@ -3,24 +3,28 @@ require 'json'
3
3
  require_relative 'constants'
4
4
  require_relative 'team'
5
5
  require_relative 'player_finder'
6
+ require_relative 'user'
6
7
 
7
8
  module ESPNNBAFantasy
8
9
  class League
9
10
 
10
11
  include PlayerFinder
11
12
 
12
- attr_accessor :teams, :stat_data
13
+ attr_accessor :teams, :stat_data, :league_id, :name, :current_start_year, :current_end_year, :users
13
14
 
14
15
  #initializes the league
15
16
 
16
17
  def initialize(league_id, year, s2, sw)
17
- @league_id = league_id
18
-
19
18
  @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
19
  @cookies = {'espn_s2': "#{s2}", 'SWID': "#{sw}"}
21
20
  @data = JSON.parse(RestClient.get(@uri, {cookies: @cookies}))
22
21
  @teams = make_team_objects
22
+ @users = make_user_objects
23
23
  @stat_data = make_stat_data
24
+ @league_id = @data['id']
25
+ @name = @data['name']
26
+ @current_start_year = @data['seasonId']
27
+ @current_end_year = @current_start_year + 1
24
28
  end
25
29
 
26
30
  def to_s
@@ -36,7 +40,7 @@ module ESPNNBAFantasy
36
40
  #pull up a Player object based on their name and their team
37
41
 
38
42
  def findplayer(team_name, str)
39
- team = teams.select{|t| t.name == team_name}.first
43
+ team = @teams.select{|t| t.name == team_name}.first
40
44
  return "No team named #{team_name}" unless team
41
45
 
42
46
  find_players(team.players, str) || "#{str} cannot be found in #{team_name}'s roster"
@@ -48,6 +52,10 @@ module ESPNNBAFantasy
48
52
  @data['teams'].map{|team| ESPNNBAFantasy::Team.new(team, self)}
49
53
  end
50
54
 
55
+ def make_user_objects
56
+ @data['members'].map{|user| ESPNNBAFantasy::User.new(user, self)}
57
+ end
58
+
51
59
  def make_stat_data
52
60
  stats = {}
53
61
  teams.each do |team|
@@ -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
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
@@ -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)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: espn_nba_fantasy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4.2
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Usborn Ocampo