prizepicks 0.2.3 → 0.3.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: 4b1539070fa0e989da3bb9621f1e2bb3d11cebf05a6039d631d15d0953aa6d18
4
+ data.tar.gz: 119466c75e8a12cd177c5e3fe487e810601e26abd1d60d0430ae6d82c61e3704
5
5
  SHA512:
6
- metadata.gz: 81ba3a66bda7617deff0619b1cd36e63e8d1e9be7fdc91e8541e42d889fdb1fc4547cd0b6eab0a917b08e87933ffc8cd91e9457399a6c698d55c543eecf8ee1b
7
- data.tar.gz: 9a5a88823ed7ebaf0ed4b24f83a46fd177a4adb3778d4991aca8f54577e4a10bd9c3bd11c4556d67d302c7783e229f55b441e37141a5db34bdad068e6788a3d8
6
+ metadata.gz: a5886d830c924fb9d1f029170302f443c206770c0d0a45d5faeee129d70b6b5e8081087753f7e0f1cfb5b23b154a209bc01b5b929228badeafa19b063dbbd38d
7
+ data.tar.gz: c860dde10c155d5a51df914f7f4518fdf1e748d2b7139aaf16d57f64c29b08f113cd2df2a6d7a554dbbcdc5253a8e89d9f59faaa6ff6511fd7b83c976cc272fb
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,13 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.3.0](https://www.github.com/troyizzle/prizepicks/compare/v0.2.3...v0.3.0) (2023-02-24)
4
+
5
+
6
+ ### Features
7
+
8
+ * related predictions on entry class ([bb60d4b](https://www.github.com/troyizzle/prizepicks/commit/bb60d4bdbeb346659df22caef897a4a81f5268cc))
9
+ * return included response in collection ([a816739](https://www.github.com/troyizzle/prizepicks/commit/a8167393304415e483b9155019527e527d5503c8))
10
+
3
11
  ### [0.2.3](https://www.github.com/troyizzle/prizepicks/compare/v0.2.2...v0.2.3) (2023-02-21)
4
12
 
5
13
 
@@ -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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PrizePicks
4
- VERSION = '0.2.3'
4
+ VERSION = '0.3.0'
5
5
  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.3.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-02-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday