ruby-lichess 0.3.0 → 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
- SHA1:
3
- metadata.gz: 77bf772731d1cae63c57d0e68591cbc49f5451cf
4
- data.tar.gz: f73c78707214e0b43d80506b3d637c6fb0e506fb
2
+ SHA256:
3
+ metadata.gz: 8e1a27261e0a8bc8e8c2bdbdf74a1260f3389418698dfc9db8137f02d7ff7e62
4
+ data.tar.gz: 01a6467e60c0c1f5bea3ef40c8164e02246bd3f3fc02687541638f2d3ab9f2dc
5
5
  SHA512:
6
- metadata.gz: 6dd399d9c41d566a4910b56f3bc941f1ed02065266fb510a8bf12a2d4f4b9d627397e9982e9f349c9f5dee64b2605ce806de745f53fd782750b3b1b009ab5dd1
7
- data.tar.gz: ac217b9dbd147b6345852a6568cdaa1b157c7089f562786b2cf667d8523a4f57027d6df47897dc576d3eb5649da7afb2747dcd8f0ea6170b2861cb73b9ae64a2
6
+ metadata.gz: 8de88aa6328173b70c815516aafdb31d63800a57941d05f2450e4f6820f2cb14d056449cb07f492e5f9288843f6a4b4d2cb5f640224d11c94586bd706cbdbd24
7
+ data.tar.gz: 23dc2c584f5fb867958fc97bd908269942d1f12239b7ea8cb301106f3a8f3edb678396dac39f3dab23eaaafc4708eb1effff952cc4b46dd866b42b6e26fba456
data/.gitignore CHANGED
@@ -7,6 +7,8 @@
7
7
  /spec/reports/
8
8
  /tmp/
9
9
 
10
+ Gemfile.lock
11
+
10
12
  # rspec failure tracking
11
13
  .rspec_status
12
14
  ruby-lichess-*.gem
data/README.md CHANGED
@@ -18,6 +18,14 @@ Or install it yourself as:
18
18
 
19
19
  ## Usage
20
20
 
21
+ ### Client
22
+
23
+ Get started by first creating a client
24
+
25
+ ```
26
+ lichess = Lichess::Client.new(LICHESS_API_TOKEN)
27
+ ```
28
+
21
29
  ### Users
22
30
 
23
31
  *All Top Ten*
@@ -50,6 +58,12 @@ Get a users data
50
58
  result = lichess.users.get("username")
51
59
  ```
52
60
 
61
+ Get multiple users by passing in an array
62
+
63
+ ```
64
+ result = lichess.users.get(["username1", "username2"])
65
+ ```
66
+
53
67
  ## Development
54
68
 
55
69
  ## Contributing
@@ -2,6 +2,7 @@ module Lichess
2
2
  module Exception
3
3
  class UserNotFound < StandardError; end
4
4
  class TooManyGames < StandardError; end
5
+ class InvalidParameter < StandardError; end
5
6
  end
6
7
  end
7
8
 
@@ -6,6 +6,10 @@ module Lichess
6
6
 
7
7
  MAX_GAMES = 30
8
8
 
9
+ VALID_PARAMS = {
10
+ users_games: %w{perf perfType since until max vs rated color analysed ongoing movies pgnInJson tags clocks evals opening players ongoing, num_games}.map(&:to_sym)
11
+ }
12
+
9
13
  def initialize(client)
10
14
  @client = client
11
15
  end
@@ -21,6 +25,7 @@ module Lichess
21
25
  JSON.parse(result.body)
22
26
  end
23
27
 
28
+
24
29
  def users_games(user_id, options = {}, &blk)
25
30
  num_games = options[:num_games] || 10
26
31
 
@@ -28,10 +33,17 @@ module Lichess
28
33
  raise Exception::TooManyGames.new("Cannot request more than 30 games")
29
34
  end
30
35
 
36
+ invalid_params = options.keys.reject { |k| VALID_PARAMS[:users_games].include? k }
37
+ raise Exception::InvalidParameter.new("#{invalid_params.join(",")} parameters were supplied, but are invalid") if invalid_params.any?
38
+
31
39
  path = "/api/games/user/#{user_id}?max=#{num_games}"
32
- path << "&ongoing=#{options[:ongoing]}" if options[:ongoing]
40
+
41
+ # kept to keep backward compat
33
42
  path << "&perfType=#{options[:perf]}" if options[:perf]
34
- path << "&vs=#{options[:vs]}" if options[:vs]
43
+
44
+ options.each do |key, value|
45
+ path << "&#{key}=#{value}"
46
+ end
35
47
 
36
48
  result = @client.get(path, http_headers: ndjson_headers)
37
49
  stringio = StringIO.new(result.body)
@@ -1,3 +1,3 @@
1
1
  module Lichess
2
- VERSION = "0.3.0"
2
+ VERSION = "0.4.0"
3
3
  end
data/ruby-lichess.gemspec CHANGED
@@ -27,9 +27,9 @@ Gem::Specification.new do |spec|
27
27
  spec.add_dependency "ndjson", "~> 1.0"
28
28
  spec.add_dependency "http", "~> 4.0"
29
29
 
30
- spec.add_development_dependency "bundler", "~> 1.16"
30
+ spec.add_development_dependency "bundler", "~> 2.2"
31
31
  spec.add_development_dependency "dotenv", "2.5.0"
32
- spec.add_development_dependency "rake", "~> 10.0"
32
+ spec.add_development_dependency "rake", "~> 13.0"
33
33
  spec.add_development_dependency "rspec", "~> 3.0"
34
34
  spec.add_development_dependency "pry", "~> 0.11"
35
35
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-lichess
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - omgrr
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-09-27 00:00:00.000000000 Z
11
+ date: 2021-05-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ndjson
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.16'
47
+ version: '2.2'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '1.16'
54
+ version: '2.2'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: dotenv
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '10.0'
75
+ version: '13.0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '10.0'
82
+ version: '13.0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rspec
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -118,7 +118,6 @@ files:
118
118
  - ".gitignore"
119
119
  - ".rspec"
120
120
  - Gemfile
121
- - Gemfile.lock
122
121
  - LICENSE.txt
123
122
  - README.md
124
123
  - Rakefile
@@ -150,8 +149,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
150
149
  - !ruby/object:Gem::Version
151
150
  version: '0'
152
151
  requirements: []
153
- rubyforge_project:
154
- rubygems_version: 2.6.14.1
152
+ rubygems_version: 3.1.4
155
153
  signing_key:
156
154
  specification_version: 4
157
155
  summary: Ruby library for lichess api
data/Gemfile.lock DELETED
@@ -1,63 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- ruby-lichess (0.2.1)
5
- http (~> 4.0)
6
- ndjson (~> 1.0)
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- addressable (2.7.0)
12
- public_suffix (>= 2.0.2, < 5.0)
13
- coderay (1.1.2)
14
- diff-lcs (1.3)
15
- domain_name (0.5.20190701)
16
- unf (>= 0.0.5, < 1.0.0)
17
- dotenv (2.5.0)
18
- http (4.1.1)
19
- addressable (~> 2.3)
20
- http-cookie (~> 1.0)
21
- http-form_data (~> 2.0)
22
- http_parser.rb (~> 0.6.0)
23
- http-cookie (1.0.3)
24
- domain_name (~> 0.5)
25
- http-form_data (2.1.1)
26
- http_parser.rb (0.6.0)
27
- method_source (0.9.0)
28
- ndjson (1.0.0)
29
- pry (0.11.3)
30
- coderay (~> 1.1.0)
31
- method_source (~> 0.9.0)
32
- public_suffix (4.0.1)
33
- rake (10.5.0)
34
- rspec (3.8.0)
35
- rspec-core (~> 3.8.0)
36
- rspec-expectations (~> 3.8.0)
37
- rspec-mocks (~> 3.8.0)
38
- rspec-core (3.8.0)
39
- rspec-support (~> 3.8.0)
40
- rspec-expectations (3.8.1)
41
- diff-lcs (>= 1.2.0, < 2.0)
42
- rspec-support (~> 3.8.0)
43
- rspec-mocks (3.8.0)
44
- diff-lcs (>= 1.2.0, < 2.0)
45
- rspec-support (~> 3.8.0)
46
- rspec-support (3.8.0)
47
- unf (0.1.4)
48
- unf_ext
49
- unf_ext (0.0.7.6)
50
-
51
- PLATFORMS
52
- ruby
53
-
54
- DEPENDENCIES
55
- bundler (~> 1.16)
56
- dotenv (= 2.5.0)
57
- pry (~> 0.11)
58
- rake (~> 10.0)
59
- rspec (~> 3.0)
60
- ruby-lichess!
61
-
62
- BUNDLED WITH
63
- 1.16.1