qi 10.0.0.beta1 → 10.0.0.beta3
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 +4 -4
- data/LICENSE.md +1 -1
- data/README.md +3 -3
- data/lib/qi/action.rb +9 -21
- metadata +4 -158
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ed62693adaee42b6e7a64ea4e3475154b3ba8cf1af7a68d0ec33835183ec7270
|
4
|
+
data.tar.gz: 2d1fde31acc76b566da0ad07126debb554b26623417ed5b450da6310765bff15
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 50722f79e25fa9012be5c44a93b6bc4667b03caae75de426fe84ab62b007a241bf9c956c7ce03843348f673a273d7a543dae05af2479b4f66ef0e929e6f8cfd2
|
7
|
+
data.tar.gz: 9f11b1e6ef5fe6a901bea7242f94d7640789c114ec6173e6047e15b48d67a38fad18e3bc0fda3962cd9b148558d65142abb563225802e4f3fb788a025d4826d1
|
data/LICENSE.md
CHANGED
data/README.md
CHANGED
@@ -13,7 +13,7 @@
|
|
13
13
|
Add this line to your application's Gemfile:
|
14
14
|
|
15
15
|
```ruby
|
16
|
-
gem "qi", ">= 10.0.0.
|
16
|
+
gem "qi", ">= 10.0.0.beta3"
|
17
17
|
```
|
18
18
|
|
19
19
|
And then execute:
|
@@ -46,8 +46,8 @@ squares # => {:"3"=>"s", :"4"=>"k", :"5"=>"s", :"22"=>"+P", :"13"=>"+B"}
|
|
46
46
|
|
47
47
|
The code is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
48
48
|
|
49
|
-
## About
|
49
|
+
## About Sashité
|
50
50
|
|
51
|
-
This [gem](https://rubygems.org/gems/qi) is maintained by [
|
51
|
+
This [gem](https://rubygems.org/gems/qi) is maintained by [Sashité](https://sashite.com/).
|
52
52
|
|
53
53
|
With some [lines of code](https://github.com/sashite/), let's share the beauty of Chinese, Japanese and Western cultures through the game of chess!
|
data/lib/qi/action.rb
CHANGED
@@ -4,7 +4,7 @@ module Qi
|
|
4
4
|
# The Action abstraction.
|
5
5
|
class Action
|
6
6
|
CAPTURE_CHAR = "&"
|
7
|
-
DROP_CHAR
|
7
|
+
DROP_CHAR = "*"
|
8
8
|
|
9
9
|
# Action initializer.
|
10
10
|
def initialize(*captures, **squares)
|
@@ -16,32 +16,20 @@ module Qi
|
|
16
16
|
#
|
17
17
|
# @return [Array] An action to change the position.
|
18
18
|
def call(**diffs)
|
19
|
-
|
20
|
-
|
19
|
+
capture = diffs.delete(CAPTURE_CHAR)
|
20
|
+
drop = diffs.delete(DROP_CHAR)
|
21
21
|
|
22
|
-
|
23
|
-
case String(k)
|
24
|
-
when CAPTURE_CHAR
|
25
|
-
captures = capture(v, *captures)
|
26
|
-
when DROP_CHAR
|
27
|
-
captures = drop(v, *captures)
|
28
|
-
else
|
29
|
-
squares = squares.merge(k => v)
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
[captures, squares.compact]
|
22
|
+
change(*@captures, capture:, drop:, **diffs)
|
34
23
|
end
|
35
24
|
|
36
25
|
private
|
37
26
|
|
38
|
-
def
|
39
|
-
|
40
|
-
|
27
|
+
def change(*captures, capture: nil, drop: nil, **squares)
|
28
|
+
captures.unshift(capture) unless capture.nil?
|
29
|
+
captures.delete(drop) { |key| raise ::IndexError, "Capture #{key.inspect} not found!" } unless drop.nil?
|
30
|
+
squares = @squares.merge(squares).compact
|
41
31
|
|
42
|
-
|
43
|
-
items.delete_at(items.index(item))
|
44
|
-
items
|
32
|
+
[captures, squares]
|
45
33
|
end
|
46
34
|
end
|
47
35
|
end
|
metadata
CHANGED
@@ -1,169 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: qi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 10.0.0.
|
4
|
+
version: 10.0.0.beta3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cyril Kato
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
12
|
-
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: brutal
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 1.6.0.beta4
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: 1.6.0.beta4
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: bundler
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: rake
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: rubocop
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ">="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: rubocop-gitlab-security
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ">="
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: rubocop-md
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - ">="
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - ">="
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: rubocop-performance
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - ">="
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - ">="
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: rubocop-rake
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - ">="
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - ">="
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: rubocop-thread_safety
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - ">="
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '0'
|
132
|
-
type: :development
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - ">="
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '0'
|
139
|
-
- !ruby/object:Gem::Dependency
|
140
|
-
name: simplecov
|
141
|
-
requirement: !ruby/object:Gem::Requirement
|
142
|
-
requirements:
|
143
|
-
- - ">="
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
version: '0'
|
146
|
-
type: :development
|
147
|
-
prerelease: false
|
148
|
-
version_requirements: !ruby/object:Gem::Requirement
|
149
|
-
requirements:
|
150
|
-
- - ">="
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: '0'
|
153
|
-
- !ruby/object:Gem::Dependency
|
154
|
-
name: yard
|
155
|
-
requirement: !ruby/object:Gem::Requirement
|
156
|
-
requirements:
|
157
|
-
- - ">="
|
158
|
-
- !ruby/object:Gem::Version
|
159
|
-
version: '0'
|
160
|
-
type: :development
|
161
|
-
prerelease: false
|
162
|
-
version_requirements: !ruby/object:Gem::Requirement
|
163
|
-
requirements:
|
164
|
-
- - ">="
|
165
|
-
- !ruby/object:Gem::Version
|
166
|
-
version: '0'
|
11
|
+
date: 2023-04-21 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
167
13
|
description: An abstraction that could help to update positions for games like Shogi.
|
168
14
|
email: contact@cyril.email
|
169
15
|
executables: []
|
@@ -195,7 +41,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
195
41
|
- !ruby/object:Gem::Version
|
196
42
|
version: 1.3.1
|
197
43
|
requirements: []
|
198
|
-
rubygems_version: 3.4.
|
44
|
+
rubygems_version: 3.4.6
|
199
45
|
signing_key:
|
200
46
|
specification_version: 4
|
201
47
|
summary: An abstraction that could help to update positions for games like Shogi.
|