espn_nba_fantasy 0.0.4.2 → 1.0.0

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: 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