sleeper_ff 0.2.0 → 0.2.1

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: e7003f4a5b2c10ca28f61fb523031b6191985e36998dd644266c2599c696c983
4
- data.tar.gz: 4de640ecc50838e96b08b48f76fd7cdd570314ca8fe585f37908d440a1175583
3
+ metadata.gz: a97d8c902244a9e09489087d8b57dde3c801f8337de4a99dfa2f66d4ff434a1b
4
+ data.tar.gz: a3fab5a3020426f0f30481e869264aed57d3630a716c20f5836e5699eeed4fb9
5
5
  SHA512:
6
- metadata.gz: 70e4b1ec4e14b3d43bfe9cbdef93d1edc90a3c42e13b27d5911e5f4e905161c128afe35ab8d82ed4d0a63c566d5b1028f369813c69a0c443a42771bdabbd0660
7
- data.tar.gz: 3fde189ef7e7e4cdc918a37db469182c40f3a90ff153eb128e9bd08eb48f914fc5c3a7d2f719318ec3546d5d95394555457d938d2117dd0b56e97559ce14bc0d
6
+ metadata.gz: faa1c93017e5cc0d9eabe72b28521a165cb849f5bef1c05ac1eec77b1bb68ba20ebc222184ed8566e59f56b3b8c47cc7c84f0d622e98930dd092d36791b53bda
7
+ data.tar.gz: 0c702a452ce0673937c56eab5e42d040b905568f83728da8139ebab11a0424100ba43a512f0b226067bdc3c4a7f0b8709bd50318c6ee7c3e1ff04726976ffbea
data/README.md CHANGED
@@ -169,9 +169,17 @@ trending.first.player_id # => "4046"
169
169
  trending.first.count # => 1842
170
170
  ```
171
171
 
172
- More endpoints coming soon:
173
- - Matchups
174
- - Transactions
172
+ ### Sport State
173
+
174
+ ```ruby
175
+ # Get the current NFL season state
176
+ state = client.nfl_state
177
+
178
+ state.week # => 1
179
+ state.season # => "2024"
180
+ state.season_type # => "regular"
181
+ state.display_week # => 1
182
+ ```
175
183
 
176
184
  ## Development
177
185
 
@@ -96,4 +96,4 @@ module SleeperFF
96
96
  end
97
97
  end
98
98
  end
99
- end
99
+ end
@@ -17,8 +17,8 @@ module SleeperFF
17
17
  # @param limit [Integer] Number of results to return (default 25)
18
18
  # @return [Array<Sawyer::Resource>] Array of trending player objects
19
19
  def trending_players(type, lookback_hours: 24, limit: 25)
20
- get "players/nfl/trending/#{type}", query: { lookback_hours: lookback_hours, limit: limit }
20
+ get "players/nfl/trending/#{type}", query: {lookback_hours: lookback_hours, limit: limit}
21
21
  end
22
22
  end
23
23
  end
24
- end
24
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SleeperFF
4
+ class Client
5
+ module Sport
6
+ # Get the current state of an NFL season
7
+ #
8
+ # @return [Sawyer::Resource] Current NFL state including week, season, and season type
9
+ def nfl_state
10
+ get "state/nfl"
11
+ end
12
+ end
13
+ end
14
+ end
@@ -12,4 +12,4 @@ module SleeperFF
12
12
  end
13
13
  end
14
14
  end
15
- end
15
+ end
@@ -6,6 +6,7 @@ require "sleeper_ff/client/users"
6
6
  require "sleeper_ff/client/leagues"
7
7
  require "sleeper_ff/client/drafts"
8
8
  require "sleeper_ff/client/players"
9
+ require "sleeper_ff/client/sport"
9
10
 
10
11
  module SleeperFF
11
12
  class Client
@@ -14,6 +15,7 @@ module SleeperFF
14
15
  include SleeperFF::Client::Leagues
15
16
  include SleeperFF::Client::Drafts
16
17
  include SleeperFF::Client::Players
18
+ include SleeperFF::Client::Sport
17
19
 
18
20
  # Header keys that can be passed in options hash
19
21
  CONVENIENCE_HEADERS = Set.new([:accept, :content_type])
@@ -38,14 +40,14 @@ module SleeperFF
38
40
 
39
41
  def request(method, path, data, options = {})
40
42
  if data.is_a?(Hash)
41
- options[:query] = data.delete(:query) || {}
43
+ options[:query] = data.delete(:query) || {}
42
44
  options[:headers] = data.delete(:headers) || {}
43
- if accept = data.delete(:accept)
45
+ if (accept = data.delete(:accept))
44
46
  options[:headers][:accept] = accept
45
47
  end
46
48
  end
47
49
 
48
- @last_response = response = agent.call(method, URI::Parser.new.escape(path.to_s), data, options)
50
+ @last_response = response = agent.call(method, URI::DEFAULT_PARSER.escape(path.to_s), data, options)
49
51
  response.data
50
52
  end
51
53
 
@@ -56,4 +58,4 @@ module SleeperFF
56
58
  end
57
59
  end
58
60
  end
59
- end
61
+ end
@@ -27,4 +27,4 @@ module SleeperFF
27
27
  self
28
28
  end
29
29
  end
30
- end
30
+ end
@@ -2,9 +2,9 @@
2
2
 
3
3
  module SleeperFF
4
4
  module Default
5
- API_ENDPOINT = "https://api.sleeper.app/v1".freeze
5
+ API_ENDPOINT = "https://api.sleeper.app/v1"
6
6
  USER_AGENT = "SleeperFF Ruby Gem #{SleeperFF::VERSION}".freeze
7
- MEDIA_TYPE = "application/json".freeze
7
+ MEDIA_TYPE = "application/json"
8
8
 
9
9
  class << self
10
10
  def api_endpoint
@@ -20,4 +20,4 @@ module SleeperFF
20
20
  end
21
21
  end
22
22
  end
23
- end
23
+ end
@@ -27,4 +27,4 @@ module SleeperFF
27
27
 
28
28
  # Raised when Sleeper returns a 503 HTTP status code
29
29
  class ServiceUnavailable < Error; end
30
- end
30
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SleeperFF
4
- VERSION = "0.2.0"
4
+ VERSION = "0.2.1"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sleeper_ff
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Mejia
@@ -110,6 +110,7 @@ files:
110
110
  - lib/sleeper_ff/client/drafts.rb
111
111
  - lib/sleeper_ff/client/leagues.rb
112
112
  - lib/sleeper_ff/client/players.rb
113
+ - lib/sleeper_ff/client/sport.rb
113
114
  - lib/sleeper_ff/client/users.rb
114
115
  - lib/sleeper_ff/configurable.rb
115
116
  - lib/sleeper_ff/default.rb