prizepicks 0.2.3 → 0.4.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: 183eed6e5471c6f7b26e7076d3a30cbf8e26e08a78d4ffef94c657d273fc8dbc
4
- data.tar.gz: 04755b4158b46b51b8f000947ab88cf73eff1522045cc26d81e5c1d6edc9c07b
3
+ metadata.gz: d26a3d6d2819f3e35fd7751667c701402c5a7387e41102d899c3faf97f8acb43
4
+ data.tar.gz: af0614d8a6bb172aba7c9336f03e424a8e6369152af6f5796d674c71844c0bd2
5
5
  SHA512:
6
- metadata.gz: 81ba3a66bda7617deff0619b1cd36e63e8d1e9be7fdc91e8541e42d889fdb1fc4547cd0b6eab0a917b08e87933ffc8cd91e9457399a6c698d55c543eecf8ee1b
7
- data.tar.gz: 9a5a88823ed7ebaf0ed4b24f83a46fd177a4adb3778d4991aca8f54577e4a10bd9c3bd11c4556d67d302c7783e229f55b441e37141a5db34bdad068e6788a3d8
6
+ metadata.gz: f12c3e5920a07449c87f5d04b1eef61e34f8229cfe27f5dccc842689ef329212624ca9e1b61ca2b7d5948880a86e54a9b16a53d2c3b000075003a05ff6fc3d5c
7
+ data.tar.gz: bda7f06d8d9ea01b1e90644f697a179dc8ffa5fd57f93c50674acfd7ee5523463d3d76f8d8305e40589f0de0b49e037f29cab455604e3a0d5da04f87c3d070f2
data/.rubocop.yml CHANGED
@@ -30,6 +30,8 @@ Metrics/LineLength:
30
30
  Max: 120
31
31
  Style/Documentation:
32
32
  Enabled: false
33
+ Style/HashSyntax:
34
+ Enabled: false
33
35
  Style/ModuleFunction:
34
36
  Enabled: false
35
37
  Style/TrailingCommaInHashLiteral:
data/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.4.0](https://www.github.com/troyizzle/prizepicks/compare/v0.3.0...v0.4.0) (2023-03-02)
4
+
5
+
6
+ ### Features
7
+
8
+ * client inspect filter ([e1d2c0a](https://www.github.com/troyizzle/prizepicks/commit/e1d2c0a91f136c7ceaaad7489145c015e804cfce))
9
+ * member_transactions endpoints ([0d64526](https://www.github.com/troyizzle/prizepicks/commit/0d64526bc65db6c23b02740be0d5f24e54f3d9c0))
10
+
11
+ ## [0.3.0](https://www.github.com/troyizzle/prizepicks/compare/v0.2.3...v0.3.0) (2023-02-24)
12
+
13
+
14
+ ### Features
15
+
16
+ * related predictions on entry class ([bb60d4b](https://www.github.com/troyizzle/prizepicks/commit/bb60d4bdbeb346659df22caef897a4a81f5268cc))
17
+ * return included response in collection ([a816739](https://www.github.com/troyizzle/prizepicks/commit/a8167393304415e483b9155019527e527d5503c8))
18
+
3
19
  ### [0.2.3](https://www.github.com/troyizzle/prizepicks/compare/v0.2.2...v0.2.3) (2023-02-21)
4
20
 
5
21
 
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PrizePicks
4
+ module Api
5
+ module Endpoints
6
+ module MemberTransactions
7
+ ENDPOINT = '/member_transactions'
8
+
9
+ def member_transactions(options = {})
10
+ resp = request(:get, ENDPOINT, options)
11
+ Collection.from_response(parsed_resp(resp), type: MemberTransaction)
12
+ end
13
+
14
+ def parsed_resp(resp)
15
+ { 'data' => resp.map { |r| r }, 'included' => [] }
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -2,6 +2,7 @@
2
2
 
3
3
  require_relative 'endpoints/entries'
4
4
  require_relative 'endpoints/leagues'
5
+ require_relative 'endpoints/member_transactions'
5
6
  require_relative 'endpoints/projections'
6
7
  require_relative 'endpoints/sign_in'
7
8
 
@@ -10,6 +11,7 @@ module PrizePicks
10
11
  module Endpoints
11
12
  include Entries
12
13
  include Leagues
14
+ include MemberTransactions
13
15
  include Projections
14
16
  include SignIn
15
17
  end
@@ -17,5 +17,17 @@ module PrizePicks
17
17
  @stubs = options[:stubs] || nil
18
18
  @adapter = options[:adapter] || nil
19
19
  end
20
+
21
+ def inspect
22
+ content = Config::ATTRIBUTES.map do |key|
23
+ if key == :password
24
+ "#{key}: [FILTERED]"
25
+ else
26
+ "#{key}: #{send(key).inspect}"
27
+ end
28
+ end.compact.join(', ')
29
+
30
+ "#<#{self.class.name} #{content}>"
31
+ end
20
32
  end
21
33
  end
@@ -1,20 +1,35 @@
1
1
  # frozen_string_literal: true
2
2
  module PrizePicks
3
3
  class Collection
4
- attr_reader :data, :total_pages, :current_page
4
+ attr_reader :data, :included, :total_pages, :current_page
5
5
 
6
6
  def self.from_response(response, type:)
7
7
  new(
8
8
  data: response['data'].map { |attrs| type.new(attrs) },
9
+ included: parse_included_data(response['included']),
9
10
  current_page: response.dig('meta', 'current_page'),
10
11
  total_pages: response.dig('meta', 'total_pages')
11
12
  )
12
13
  end
13
14
 
14
- def initialize(data:, current_page:, total_pages:)
15
+ def initialize(data:, included:, current_page:, total_pages:)
15
16
  @data = data
17
+ @included = included
16
18
  @current_page = current_page
17
19
  @total_pages = total_pages
18
20
  end
21
+
22
+ def self.parse_included_data(included)
23
+ included.map do |attrs|
24
+ type = attrs['type'].capitalize
25
+ class_name = "PrizePicks::#{type}"
26
+ klass = if Object.const_defined?(class_name)
27
+ Object.const_get(class_name)
28
+ else
29
+ PrizePicks::Base
30
+ end
31
+ klass.new(attrs)
32
+ end
33
+ end
19
34
  end
20
35
  end
@@ -1,5 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
  module PrizePicks
3
3
  class Entry < Base
4
+ def related_predictions
5
+ data.dig('relationships', 'predictions', 'data').map { |d| d['id'] }
6
+ end
4
7
  end
5
8
  end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+ module PrizePicks
3
+ class MemberTransaction < Base
4
+ end
5
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PrizePicks
4
- VERSION = '0.2.3'
4
+ VERSION = '0.4.0'
5
5
  end
data/lib/prizepicks.rb CHANGED
@@ -21,6 +21,7 @@ module PrizePicks
21
21
  autoload :Base, 'prizepicks/objects/base'
22
22
  autoload :Entry, 'prizepicks/objects/entry'
23
23
  autoload :League, 'prizepicks/objects/league'
24
+ autoload :MemberTransaction, 'prizepicks/objects/member_transaction'
24
25
  autoload :Projection, 'prizepicks/objects/projection'
25
26
  autoload :User, 'prizepicks/objects/user'
26
27
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prizepicks
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Troy Underwood
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-02-21 00:00:00.000000000 Z
11
+ date: 2023-03-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -110,6 +110,7 @@ files:
110
110
  - lib/prizepicks/api/endpoints.rb
111
111
  - lib/prizepicks/api/endpoints/entries.rb
112
112
  - lib/prizepicks/api/endpoints/leagues.rb
113
+ - lib/prizepicks/api/endpoints/member_transactions.rb
113
114
  - lib/prizepicks/api/endpoints/projections.rb
114
115
  - lib/prizepicks/api/endpoints/sign_in.rb
115
116
  - lib/prizepicks/api/responses/user.rb
@@ -122,6 +123,7 @@ files:
122
123
  - lib/prizepicks/objects/base.rb
123
124
  - lib/prizepicks/objects/entry.rb
124
125
  - lib/prizepicks/objects/league.rb
126
+ - lib/prizepicks/objects/member_transaction.rb
125
127
  - lib/prizepicks/objects/projection.rb
126
128
  - lib/prizepicks/objects/user.rb
127
129
  - lib/prizepicks/version.rb