rubysketch-solitaire 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.bundle/config +2 -0
- data/.github/workflows/release-gem.yml +62 -0
- data/.github/workflows/test.yml +23 -0
- data/.github/workflows/utils.rb +56 -0
- data/.gitignore +11 -0
- data/Gemfile +5 -0
- data/Gemfile.lock +284 -0
- data/LICENSE +21 -0
- data/Podfile +31 -0
- data/Podfile.lock +59 -0
- data/README.md +21 -0
- data/Rakefile +100 -0
- data/RubySolitaire/Assets.xcassets/AccentColor.colorset/Contents.json +11 -0
- data/RubySolitaire/Assets.xcassets/AppIcon.appiconset/Contents.json +98 -0
- data/RubySolitaire/Assets.xcassets/Contents.json +6 -0
- data/RubySolitaire/BridgingHeader.h +10 -0
- data/RubySolitaire/GameView.swift +47 -0
- data/RubySolitaire/Preview Content/Preview Assets.xcassets/Contents.json +6 -0
- data/RubySolitaire/RubySolitaireApp.swift +10 -0
- data/RubySolitaireTests/RubySolitaireTests.swift +28 -0
- data/RubySolitaireUITests/RubySolitaireUITests.swift +35 -0
- data/RubySolitaireUITests/RubySolitaireUITestsLaunchTests.swift +25 -0
- data/VERSION +1 -0
- data/data/button.mp3 +0 -0
- data/data/card.png +0 -0
- data/data/deal1.mp3 +0 -0
- data/data/deal2.mp3 +0 -0
- data/data/deal3.mp3 +0 -0
- data/data/flip.mp3 +0 -0
- data/data/noop.mp3 +0 -0
- data/lib/rubysketch/solitaire/background.rb +34 -0
- data/lib/rubysketch/solitaire/card.rb +256 -0
- data/lib/rubysketch/solitaire/common/animation.rb +116 -0
- data/lib/rubysketch/solitaire/common/button.rb +67 -0
- data/lib/rubysketch/solitaire/common/dialog.rb +103 -0
- data/lib/rubysketch/solitaire/common/history.rb +94 -0
- data/lib/rubysketch/solitaire/common/particle.rb +71 -0
- data/lib/rubysketch/solitaire/common/scene.rb +128 -0
- data/lib/rubysketch/solitaire/common/score.rb +37 -0
- data/lib/rubysketch/solitaire/common/settings.rb +31 -0
- data/lib/rubysketch/solitaire/common/shake.rb +48 -0
- data/lib/rubysketch/solitaire/common/sound.rb +6 -0
- data/lib/rubysketch/solitaire/common/timer.rb +35 -0
- data/lib/rubysketch/solitaire/common/transitions.rb +149 -0
- data/lib/rubysketch/solitaire/common/utils.rb +89 -0
- data/lib/rubysketch/solitaire/extension.rb +25 -0
- data/lib/rubysketch/solitaire/klondike.rb +676 -0
- data/lib/rubysketch/solitaire/places.rb +177 -0
- data/lib/rubysketch/solitaire/start.rb +19 -0
- data/lib/rubysketch/solitaire.rb +80 -0
- data/main.rb +1 -0
- data/project.yml +91 -0
- data/solitaire.gemspec +28 -0
- metadata +137 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 81277cc0d2fd26e1236aead267584a337b431602a1f5447a9576e391864c6d72
|
4
|
+
data.tar.gz: 50ffd854120be92e95ae9508edacc2fc9ab0e9eab5df23012bceea281dc54616
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 704feade59169093f22fba8e0bd20b3eb950ac95b5b656bd71a0f6ddba9271f011fcbda38771d32b3d015043a3bf26976c3863cb3979011e97a6f8414b42c3ad
|
7
|
+
data.tar.gz: 5cd925393288fabfaab9837cb418a288793d07d09d9e315abf95af14875779bae70d9b121f0c04600a180fddb0775d9f0f874e2dee30ea851b59d48e1f62d1c3
|
data/.bundle/config
ADDED
@@ -0,0 +1,62 @@
|
|
1
|
+
name: Release Gem
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
tags: ['v[0-9]*']
|
6
|
+
|
7
|
+
jobs:
|
8
|
+
release:
|
9
|
+
runs-on: macos-latest
|
10
|
+
|
11
|
+
steps:
|
12
|
+
- name: ruby 3.2
|
13
|
+
uses: ruby/setup-ruby@v1
|
14
|
+
with:
|
15
|
+
ruby-version: 3.2
|
16
|
+
|
17
|
+
- name: checkout
|
18
|
+
uses: actions/checkout@v2
|
19
|
+
|
20
|
+
- name: setup dependencies
|
21
|
+
run: "ruby -I.github/workflows -rutils -e 'setup_dependencies'"
|
22
|
+
|
23
|
+
#- name: install gems
|
24
|
+
# run: gem install yard
|
25
|
+
|
26
|
+
#- name: test
|
27
|
+
# run: rake quiet test
|
28
|
+
|
29
|
+
- name: create gem
|
30
|
+
id: gem
|
31
|
+
run: |
|
32
|
+
rake gem
|
33
|
+
echo path=$(ruby -e 'print Dir.glob("*.gem").first') >> $GITHUB_OUTPUT
|
34
|
+
|
35
|
+
- name: create github release
|
36
|
+
id: release
|
37
|
+
uses: actions/create-release@v1
|
38
|
+
env:
|
39
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
40
|
+
with:
|
41
|
+
tag_name: ${{ github.ref }}
|
42
|
+
release_name: ${{ github.ref }}
|
43
|
+
|
44
|
+
- name: upload to github release
|
45
|
+
uses: actions/upload-release-asset@v1
|
46
|
+
env:
|
47
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
48
|
+
with:
|
49
|
+
upload_url: ${{ steps.release.outputs.upload_url }}
|
50
|
+
asset_path: ./${{ steps.gem.outputs.path }}
|
51
|
+
asset_name: ${{ steps.gem.outputs.path }}
|
52
|
+
asset_content_type: application/zip
|
53
|
+
|
54
|
+
- name: upload to rubygems
|
55
|
+
env:
|
56
|
+
GEM_HOST_API_KEY: ${{ secrets.RUBYGEMS_AUTH_TOKEN }}
|
57
|
+
run: |
|
58
|
+
mkdir -p $HOME/.gem
|
59
|
+
touch $HOME/.gem/credentials
|
60
|
+
chmod 0600 $HOME/.gem/credentials
|
61
|
+
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
62
|
+
rake upload
|
@@ -0,0 +1,23 @@
|
|
1
|
+
name: Test
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches: [master]
|
6
|
+
pull_request:
|
7
|
+
branches: [master]
|
8
|
+
|
9
|
+
jobs:
|
10
|
+
test:
|
11
|
+
runs-on: macos-latest
|
12
|
+
|
13
|
+
steps:
|
14
|
+
- name: ruby 3.2
|
15
|
+
uses: ruby/setup-ruby@v1
|
16
|
+
with:
|
17
|
+
ruby-version: 3.2
|
18
|
+
|
19
|
+
- name: checkout
|
20
|
+
uses: actions/checkout@v2
|
21
|
+
|
22
|
+
- name: build
|
23
|
+
run: rake build
|
@@ -0,0 +1,56 @@
|
|
1
|
+
RENAMES = {reflex: 'reflexion'}
|
2
|
+
|
3
|
+
def sh(cmd)
|
4
|
+
puts cmd
|
5
|
+
system cmd
|
6
|
+
end
|
7
|
+
|
8
|
+
def setup_dependencies(build: true, only: nil)
|
9
|
+
gemspec_path = `git ls-files`.lines(chomp: true).find {|l| l =~ /\.gemspec$/}
|
10
|
+
return unless gemspec_path
|
11
|
+
|
12
|
+
gemspec = File.read gemspec_path
|
13
|
+
name = File.basename gemspec_path, '.gemspec'
|
14
|
+
|
15
|
+
exts = File.readlines('Rakefile')
|
16
|
+
.map {|l| l[%r|^\s*require\W+(\w+)/extension\W+$|, 1]}
|
17
|
+
.compact
|
18
|
+
.reject {|ext| ext == name}
|
19
|
+
exts = exts & [only].flatten.map(&:to_s) if only
|
20
|
+
|
21
|
+
exts.each do |ext|
|
22
|
+
gem = RENAMES[ext.to_sym].then {|s| s || ext}
|
23
|
+
ver = gemspec[/add_runtime_dependency.*['"]#{gem}['"].*['"]\s*~>\s*([\d\.]+)\s*['"]/, 1]
|
24
|
+
opts = '-c advice.detachedHead=false --depth 1'
|
25
|
+
clone = "git clone #{opts} https://github.com/xord/#{ext}.git ../#{ext}"
|
26
|
+
|
27
|
+
# 'rake subtree:push' pushes all subrepos, so cloning by new tag
|
28
|
+
# often fails before tagging each new tag
|
29
|
+
sh %( #{clone} --branch v#{ver} || #{clone} )
|
30
|
+
sh %( cd ../#{ext} && rake ext )
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def tag_versions()
|
35
|
+
tags = `git tag`.lines chomp: true
|
36
|
+
vers = `git log --oneline ./VERSION`
|
37
|
+
.lines(chomp: true)
|
38
|
+
.map {|line| line.split.first[/^\w+$/]}
|
39
|
+
.map {|hash| [`git cat-file -p #{hash}:./VERSION 2>/dev/null`[/[\d\.]+/], hash]}
|
40
|
+
.select {|ver, hash| ver && hash}
|
41
|
+
.reverse
|
42
|
+
.to_h
|
43
|
+
|
44
|
+
changes = File.read('ChangeLog.md')
|
45
|
+
.split(/^\s*##\s*\[\s*v([\d\.]+)\s*\].*$/)
|
46
|
+
.slice(1..-1)
|
47
|
+
.each_slice(2)
|
48
|
+
.to_h
|
49
|
+
.transform_values(&:strip!)
|
50
|
+
|
51
|
+
vers.to_a.reverse.each do |ver, hash|
|
52
|
+
tag = "v#{ver}"
|
53
|
+
break if tags.include?(tag)
|
54
|
+
sh %( git tag -a -m \"#{changes[ver]&.gsub '"', '\\"'}\" #{tag} #{hash} )
|
55
|
+
end
|
56
|
+
end
|
data/.gitignore
ADDED
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,284 @@
|
|
1
|
+
GEM
|
2
|
+
remote: https://rubygems.org/
|
3
|
+
specs:
|
4
|
+
CFPropertyList (3.0.6)
|
5
|
+
rexml
|
6
|
+
activesupport (7.0.5)
|
7
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
8
|
+
i18n (>= 1.6, < 2)
|
9
|
+
minitest (>= 5.1)
|
10
|
+
tzinfo (~> 2.0)
|
11
|
+
addressable (2.8.4)
|
12
|
+
public_suffix (>= 2.0.2, < 6.0)
|
13
|
+
algoliasearch (1.27.5)
|
14
|
+
httpclient (~> 2.8, >= 2.8.3)
|
15
|
+
json (>= 1.5.1)
|
16
|
+
artifactory (3.0.15)
|
17
|
+
atomos (0.1.3)
|
18
|
+
aws-eventstream (1.2.0)
|
19
|
+
aws-partitions (1.771.0)
|
20
|
+
aws-sdk-core (3.173.1)
|
21
|
+
aws-eventstream (~> 1, >= 1.0.2)
|
22
|
+
aws-partitions (~> 1, >= 1.651.0)
|
23
|
+
aws-sigv4 (~> 1.5)
|
24
|
+
jmespath (~> 1, >= 1.6.1)
|
25
|
+
aws-sdk-kms (1.64.0)
|
26
|
+
aws-sdk-core (~> 3, >= 3.165.0)
|
27
|
+
aws-sigv4 (~> 1.1)
|
28
|
+
aws-sdk-s3 (1.122.0)
|
29
|
+
aws-sdk-core (~> 3, >= 3.165.0)
|
30
|
+
aws-sdk-kms (~> 1)
|
31
|
+
aws-sigv4 (~> 1.4)
|
32
|
+
aws-sigv4 (1.5.2)
|
33
|
+
aws-eventstream (~> 1, >= 1.0.2)
|
34
|
+
babosa (1.0.4)
|
35
|
+
claide (1.1.0)
|
36
|
+
cocoapods (1.12.1)
|
37
|
+
addressable (~> 2.8)
|
38
|
+
claide (>= 1.0.2, < 2.0)
|
39
|
+
cocoapods-core (= 1.12.1)
|
40
|
+
cocoapods-deintegrate (>= 1.0.3, < 2.0)
|
41
|
+
cocoapods-downloader (>= 1.6.0, < 2.0)
|
42
|
+
cocoapods-plugins (>= 1.0.0, < 2.0)
|
43
|
+
cocoapods-search (>= 1.0.0, < 2.0)
|
44
|
+
cocoapods-trunk (>= 1.6.0, < 2.0)
|
45
|
+
cocoapods-try (>= 1.1.0, < 2.0)
|
46
|
+
colored2 (~> 3.1)
|
47
|
+
escape (~> 0.0.4)
|
48
|
+
fourflusher (>= 2.3.0, < 3.0)
|
49
|
+
gh_inspector (~> 1.0)
|
50
|
+
molinillo (~> 0.8.0)
|
51
|
+
nap (~> 1.0)
|
52
|
+
ruby-macho (>= 2.3.0, < 3.0)
|
53
|
+
xcodeproj (>= 1.21.0, < 2.0)
|
54
|
+
cocoapods-core (1.12.1)
|
55
|
+
activesupport (>= 5.0, < 8)
|
56
|
+
addressable (~> 2.8)
|
57
|
+
algoliasearch (~> 1.0)
|
58
|
+
concurrent-ruby (~> 1.1)
|
59
|
+
fuzzy_match (~> 2.0.4)
|
60
|
+
nap (~> 1.0)
|
61
|
+
netrc (~> 0.11)
|
62
|
+
public_suffix (~> 4.0)
|
63
|
+
typhoeus (~> 1.0)
|
64
|
+
cocoapods-deintegrate (1.0.5)
|
65
|
+
cocoapods-downloader (1.6.3)
|
66
|
+
cocoapods-plugins (1.0.0)
|
67
|
+
nap
|
68
|
+
cocoapods-search (1.0.1)
|
69
|
+
cocoapods-trunk (1.6.0)
|
70
|
+
nap (>= 0.8, < 2.0)
|
71
|
+
netrc (~> 0.11)
|
72
|
+
cocoapods-try (1.2.0)
|
73
|
+
colored (1.2)
|
74
|
+
colored2 (3.1.2)
|
75
|
+
commander (4.6.0)
|
76
|
+
highline (~> 2.0.0)
|
77
|
+
concurrent-ruby (1.2.2)
|
78
|
+
declarative (0.0.20)
|
79
|
+
digest-crc (0.6.4)
|
80
|
+
rake (>= 12.0.0, < 14.0.0)
|
81
|
+
domain_name (0.5.20190701)
|
82
|
+
unf (>= 0.0.5, < 1.0.0)
|
83
|
+
dotenv (2.8.1)
|
84
|
+
emoji_regex (3.2.3)
|
85
|
+
escape (0.0.4)
|
86
|
+
ethon (0.16.0)
|
87
|
+
ffi (>= 1.15.0)
|
88
|
+
excon (0.99.0)
|
89
|
+
faraday (1.10.3)
|
90
|
+
faraday-em_http (~> 1.0)
|
91
|
+
faraday-em_synchrony (~> 1.0)
|
92
|
+
faraday-excon (~> 1.1)
|
93
|
+
faraday-httpclient (~> 1.0)
|
94
|
+
faraday-multipart (~> 1.0)
|
95
|
+
faraday-net_http (~> 1.0)
|
96
|
+
faraday-net_http_persistent (~> 1.0)
|
97
|
+
faraday-patron (~> 1.0)
|
98
|
+
faraday-rack (~> 1.0)
|
99
|
+
faraday-retry (~> 1.0)
|
100
|
+
ruby2_keywords (>= 0.0.4)
|
101
|
+
faraday-cookie_jar (0.0.7)
|
102
|
+
faraday (>= 0.8.0)
|
103
|
+
http-cookie (~> 1.0.0)
|
104
|
+
faraday-em_http (1.0.0)
|
105
|
+
faraday-em_synchrony (1.0.0)
|
106
|
+
faraday-excon (1.1.0)
|
107
|
+
faraday-httpclient (1.0.1)
|
108
|
+
faraday-multipart (1.0.4)
|
109
|
+
multipart-post (~> 2)
|
110
|
+
faraday-net_http (1.0.1)
|
111
|
+
faraday-net_http_persistent (1.2.0)
|
112
|
+
faraday-patron (1.0.0)
|
113
|
+
faraday-rack (1.0.0)
|
114
|
+
faraday-retry (1.0.3)
|
115
|
+
faraday_middleware (1.2.0)
|
116
|
+
faraday (~> 1.0)
|
117
|
+
fastimage (2.2.7)
|
118
|
+
fastlane (2.213.0)
|
119
|
+
CFPropertyList (>= 2.3, < 4.0.0)
|
120
|
+
addressable (>= 2.8, < 3.0.0)
|
121
|
+
artifactory (~> 3.0)
|
122
|
+
aws-sdk-s3 (~> 1.0)
|
123
|
+
babosa (>= 1.0.3, < 2.0.0)
|
124
|
+
bundler (>= 1.12.0, < 3.0.0)
|
125
|
+
colored
|
126
|
+
commander (~> 4.6)
|
127
|
+
dotenv (>= 2.1.1, < 3.0.0)
|
128
|
+
emoji_regex (>= 0.1, < 4.0)
|
129
|
+
excon (>= 0.71.0, < 1.0.0)
|
130
|
+
faraday (~> 1.0)
|
131
|
+
faraday-cookie_jar (~> 0.0.6)
|
132
|
+
faraday_middleware (~> 1.0)
|
133
|
+
fastimage (>= 2.1.0, < 3.0.0)
|
134
|
+
gh_inspector (>= 1.1.2, < 2.0.0)
|
135
|
+
google-apis-androidpublisher_v3 (~> 0.3)
|
136
|
+
google-apis-playcustomapp_v1 (~> 0.1)
|
137
|
+
google-cloud-storage (~> 1.31)
|
138
|
+
highline (~> 2.0)
|
139
|
+
json (< 3.0.0)
|
140
|
+
jwt (>= 2.1.0, < 3)
|
141
|
+
mini_magick (>= 4.9.4, < 5.0.0)
|
142
|
+
multipart-post (>= 2.0.0, < 3.0.0)
|
143
|
+
naturally (~> 2.2)
|
144
|
+
optparse (~> 0.1.1)
|
145
|
+
plist (>= 3.1.0, < 4.0.0)
|
146
|
+
rubyzip (>= 2.0.0, < 3.0.0)
|
147
|
+
security (= 0.1.3)
|
148
|
+
simctl (~> 1.6.3)
|
149
|
+
terminal-notifier (>= 2.0.0, < 3.0.0)
|
150
|
+
terminal-table (>= 1.4.5, < 2.0.0)
|
151
|
+
tty-screen (>= 0.6.3, < 1.0.0)
|
152
|
+
tty-spinner (>= 0.8.0, < 1.0.0)
|
153
|
+
word_wrap (~> 1.0.0)
|
154
|
+
xcodeproj (>= 1.13.0, < 2.0.0)
|
155
|
+
xcpretty (~> 0.3.0)
|
156
|
+
xcpretty-travis-formatter (>= 0.0.3)
|
157
|
+
ffi (1.15.5)
|
158
|
+
fourflusher (2.3.1)
|
159
|
+
fuzzy_match (2.0.4)
|
160
|
+
gh_inspector (1.1.3)
|
161
|
+
google-apis-androidpublisher_v3 (0.42.0)
|
162
|
+
google-apis-core (>= 0.11.0, < 2.a)
|
163
|
+
google-apis-core (0.11.0)
|
164
|
+
addressable (~> 2.5, >= 2.5.1)
|
165
|
+
googleauth (>= 0.16.2, < 2.a)
|
166
|
+
httpclient (>= 2.8.1, < 3.a)
|
167
|
+
mini_mime (~> 1.0)
|
168
|
+
representable (~> 3.0)
|
169
|
+
retriable (>= 2.0, < 4.a)
|
170
|
+
rexml
|
171
|
+
webrick
|
172
|
+
google-apis-iamcredentials_v1 (0.17.0)
|
173
|
+
google-apis-core (>= 0.11.0, < 2.a)
|
174
|
+
google-apis-playcustomapp_v1 (0.13.0)
|
175
|
+
google-apis-core (>= 0.11.0, < 2.a)
|
176
|
+
google-apis-storage_v1 (0.19.0)
|
177
|
+
google-apis-core (>= 0.9.0, < 2.a)
|
178
|
+
google-cloud-core (1.6.0)
|
179
|
+
google-cloud-env (~> 1.0)
|
180
|
+
google-cloud-errors (~> 1.0)
|
181
|
+
google-cloud-env (1.6.0)
|
182
|
+
faraday (>= 0.17.3, < 3.0)
|
183
|
+
google-cloud-errors (1.3.1)
|
184
|
+
google-cloud-storage (1.44.0)
|
185
|
+
addressable (~> 2.8)
|
186
|
+
digest-crc (~> 0.4)
|
187
|
+
google-apis-iamcredentials_v1 (~> 0.1)
|
188
|
+
google-apis-storage_v1 (~> 0.19.0)
|
189
|
+
google-cloud-core (~> 1.6)
|
190
|
+
googleauth (>= 0.16.2, < 2.a)
|
191
|
+
mini_mime (~> 1.0)
|
192
|
+
googleauth (1.5.2)
|
193
|
+
faraday (>= 0.17.3, < 3.a)
|
194
|
+
jwt (>= 1.4, < 3.0)
|
195
|
+
memoist (~> 0.16)
|
196
|
+
multi_json (~> 1.11)
|
197
|
+
os (>= 0.9, < 2.0)
|
198
|
+
signet (>= 0.16, < 2.a)
|
199
|
+
highline (2.0.3)
|
200
|
+
http-cookie (1.0.5)
|
201
|
+
domain_name (~> 0.5)
|
202
|
+
httpclient (2.8.3)
|
203
|
+
i18n (1.13.0)
|
204
|
+
concurrent-ruby (~> 1.0)
|
205
|
+
jmespath (1.6.2)
|
206
|
+
json (2.6.3)
|
207
|
+
jwt (2.7.0)
|
208
|
+
memoist (0.16.2)
|
209
|
+
mini_magick (4.12.0)
|
210
|
+
mini_mime (1.1.2)
|
211
|
+
minitest (5.18.0)
|
212
|
+
molinillo (0.8.0)
|
213
|
+
multi_json (1.15.0)
|
214
|
+
multipart-post (2.3.0)
|
215
|
+
nanaimo (0.3.0)
|
216
|
+
nap (1.1.0)
|
217
|
+
naturally (2.2.1)
|
218
|
+
netrc (0.11.0)
|
219
|
+
optparse (0.1.1)
|
220
|
+
os (1.1.4)
|
221
|
+
plist (3.7.0)
|
222
|
+
public_suffix (4.0.7)
|
223
|
+
rake (13.0.6)
|
224
|
+
representable (3.2.0)
|
225
|
+
declarative (< 0.1.0)
|
226
|
+
trailblazer-option (>= 0.1.1, < 0.2.0)
|
227
|
+
uber (< 0.2.0)
|
228
|
+
retriable (3.1.2)
|
229
|
+
rexml (3.2.5)
|
230
|
+
rouge (2.0.7)
|
231
|
+
ruby-macho (2.5.1)
|
232
|
+
ruby2_keywords (0.0.5)
|
233
|
+
rubyzip (2.3.2)
|
234
|
+
security (0.1.3)
|
235
|
+
signet (0.17.0)
|
236
|
+
addressable (~> 2.8)
|
237
|
+
faraday (>= 0.17.5, < 3.a)
|
238
|
+
jwt (>= 1.5, < 3.0)
|
239
|
+
multi_json (~> 1.10)
|
240
|
+
simctl (1.6.10)
|
241
|
+
CFPropertyList
|
242
|
+
naturally
|
243
|
+
terminal-notifier (2.0.0)
|
244
|
+
terminal-table (1.8.0)
|
245
|
+
unicode-display_width (~> 1.1, >= 1.1.1)
|
246
|
+
trailblazer-option (0.1.2)
|
247
|
+
tty-cursor (0.7.1)
|
248
|
+
tty-screen (0.8.1)
|
249
|
+
tty-spinner (0.9.3)
|
250
|
+
tty-cursor (~> 0.7)
|
251
|
+
typhoeus (1.4.0)
|
252
|
+
ethon (>= 0.9.0)
|
253
|
+
tzinfo (2.0.6)
|
254
|
+
concurrent-ruby (~> 1.0)
|
255
|
+
uber (0.1.0)
|
256
|
+
unf (0.1.4)
|
257
|
+
unf_ext
|
258
|
+
unf_ext (0.0.8.2)
|
259
|
+
unicode-display_width (1.8.0)
|
260
|
+
webrick (1.8.1)
|
261
|
+
word_wrap (1.0.0)
|
262
|
+
xcodeproj (1.22.0)
|
263
|
+
CFPropertyList (>= 2.3.3, < 4.0)
|
264
|
+
atomos (~> 0.1.3)
|
265
|
+
claide (>= 1.0.2, < 2.0)
|
266
|
+
colored2 (~> 3.1)
|
267
|
+
nanaimo (~> 0.3.0)
|
268
|
+
rexml (~> 3.2.4)
|
269
|
+
xcpretty (0.3.0)
|
270
|
+
rouge (~> 2.0.7)
|
271
|
+
xcpretty-travis-formatter (1.0.1)
|
272
|
+
xcpretty (~> 0.2, >= 0.0.7)
|
273
|
+
|
274
|
+
PLATFORMS
|
275
|
+
arm64-darwin-20
|
276
|
+
arm64-darwin-21
|
277
|
+
|
278
|
+
DEPENDENCIES
|
279
|
+
cocoapods
|
280
|
+
fastlane
|
281
|
+
rake
|
282
|
+
|
283
|
+
BUNDLED WITH
|
284
|
+
2.4.10
|
data/LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
MIT License
|
2
|
+
|
3
|
+
Copyright (c) 2023 xord.org
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
SOFTWARE.
|
data/Podfile
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
# -*- mode: ruby -*-
|
2
|
+
|
3
|
+
platform :ios, '14.0'
|
4
|
+
|
5
|
+
%w[RubySolitaire RubySolitaireTests].each do |t|
|
6
|
+
target t do
|
7
|
+
pod 'CRuby', git: 'https://github.com/xord/cruby.git'
|
8
|
+
pod 'RubySketch', git: 'https://github.com/xord/rubysketch.git'
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
|
13
|
+
post_install do |installer|
|
14
|
+
each_build_configuration installer do |c|
|
15
|
+
c.build_settings['ARCHS'] = 'arm64'
|
16
|
+
c.build_settings['VALID_ARCHS'] = 'arm64'
|
17
|
+
c.build_settings['ENABLE_BITCODE'] = 'NO'
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def each_build_configuration (installer, &block)
|
22
|
+
installer.pods_project.build_configurations.each do |config|
|
23
|
+
block.call config
|
24
|
+
end
|
25
|
+
|
26
|
+
installer.pods_project.targets.each do |target|
|
27
|
+
target.build_configurations.each do |config|
|
28
|
+
block.call config
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
data/Podfile.lock
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
PODS:
|
2
|
+
- CRuby (3.2.202)
|
3
|
+
- RubySketch (0.5.12):
|
4
|
+
- RubySketch/Beeps (= 0.5.12)
|
5
|
+
- RubySketch/Rays (= 0.5.12)
|
6
|
+
- RubySketch/Reflex (= 0.5.12)
|
7
|
+
- RubySketch/Rucy (= 0.5.12)
|
8
|
+
- RubySketch/Xot (= 0.5.12)
|
9
|
+
- RubySketch/Beeps (0.5.12):
|
10
|
+
- RubySketch/Beeps/Ext (= 0.5.12)
|
11
|
+
- RubySketch/Beeps/R8BrainFreeSrc (= 0.5.12)
|
12
|
+
- RubySketch/Beeps/STK (= 0.5.12)
|
13
|
+
- RubySketch/Beeps/Ext (0.5.12)
|
14
|
+
- RubySketch/Beeps/R8BrainFreeSrc (0.5.12)
|
15
|
+
- RubySketch/Beeps/STK (0.5.12)
|
16
|
+
- RubySketch/Rays (0.5.12):
|
17
|
+
- RubySketch/Rays/Clipper (= 0.5.12)
|
18
|
+
- RubySketch/Rays/Ext (= 0.5.12)
|
19
|
+
- RubySketch/Rays/Poly2Tri (= 0.5.12)
|
20
|
+
- RubySketch/Rays/SplineLib (= 0.5.12)
|
21
|
+
- RubySketch/Rays/Clipper (0.5.12)
|
22
|
+
- RubySketch/Rays/Ext (0.5.12)
|
23
|
+
- RubySketch/Rays/Poly2Tri (0.5.12)
|
24
|
+
- RubySketch/Rays/SplineLib (0.5.12)
|
25
|
+
- RubySketch/Reflex (0.5.12):
|
26
|
+
- RubySketch/Reflex/Box2D (= 0.5.12)
|
27
|
+
- RubySketch/Reflex/Ext (= 0.5.12)
|
28
|
+
- RubySketch/Reflex/Box2D (0.5.12)
|
29
|
+
- RubySketch/Reflex/Ext (0.5.12)
|
30
|
+
- RubySketch/Rucy (0.5.12):
|
31
|
+
- RubySketch/Rucy/Ext (= 0.5.12)
|
32
|
+
- RubySketch/Rucy/Ext (0.5.12)
|
33
|
+
- RubySketch/Xot (0.5.12)
|
34
|
+
|
35
|
+
DEPENDENCIES:
|
36
|
+
- CRuby (from `https://github.com/xord/cruby.git`)
|
37
|
+
- RubySketch (from `https://github.com/xord/rubysketch.git`)
|
38
|
+
|
39
|
+
EXTERNAL SOURCES:
|
40
|
+
CRuby:
|
41
|
+
:git: https://github.com/xord/cruby.git
|
42
|
+
RubySketch:
|
43
|
+
:git: https://github.com/xord/rubysketch.git
|
44
|
+
|
45
|
+
CHECKOUT OPTIONS:
|
46
|
+
CRuby:
|
47
|
+
:commit: 133060a967e6acbf4aad3971b369acab86029065
|
48
|
+
:git: https://github.com/xord/cruby.git
|
49
|
+
RubySketch:
|
50
|
+
:commit: e3abcf7e652a328a76e54ab0d1fa601bc7f1a43f
|
51
|
+
:git: https://github.com/xord/rubysketch.git
|
52
|
+
|
53
|
+
SPEC CHECKSUMS:
|
54
|
+
CRuby: f677262f16d7c714efd3021c90246296cf5bf9c3
|
55
|
+
RubySketch: 76a0f9a7aff07b74bbfe2d715322607e29eac971
|
56
|
+
|
57
|
+
PODFILE CHECKSUM: 3ad0b358d0bc13ea451aa93df078142a38c591fc
|
58
|
+
|
59
|
+
COCOAPODS: 1.12.1
|
data/README.md
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# Solitaire game made with RubySketch
|
2
|
+
|
3
|
+
## How to use
|
4
|
+
|
5
|
+
### Run local scripts on macOS
|
6
|
+
|
7
|
+
```sh
|
8
|
+
$ gem install rubysketch
|
9
|
+
$ ruby -Ilib -rrubysketch/solitaire -e ''
|
10
|
+
```
|
11
|
+
|
12
|
+
### Run on macOS using RubyGems
|
13
|
+
|
14
|
+
```sh
|
15
|
+
$ gem install rubysketch-solitaire
|
16
|
+
$ ruby -rrubysketch/solitaire -e ''
|
17
|
+
```
|
18
|
+
|
19
|
+
## License
|
20
|
+
|
21
|
+
see [LICENSE](LICENSE) file
|
data/Rakefile
ADDED
@@ -0,0 +1,100 @@
|
|
1
|
+
# -*- mode: ruby -*-
|
2
|
+
|
3
|
+
|
4
|
+
%w[../xot .]
|
5
|
+
.map {|s| File.expand_path "#{s}/lib", __dir__}
|
6
|
+
.each {|s| $:.unshift s if !$:.include?(s) && File.directory?(s)}
|
7
|
+
|
8
|
+
require 'xot/rake'
|
9
|
+
|
10
|
+
require 'xot/extension'
|
11
|
+
require 'rubysketch/solitaire/extension'
|
12
|
+
|
13
|
+
|
14
|
+
EXTENSIONS = [RubySketch::Solitaire]
|
15
|
+
|
16
|
+
GEMNAME = "rubysketch-#{target.name.downcase}"
|
17
|
+
|
18
|
+
NAME_IOS = "Ruby#{target.name}"
|
19
|
+
XCWORKSPACE = "#{NAME_IOS}.xcworkspace"
|
20
|
+
XCODEPROJ = "#{NAME_IOS}.xcodeproj"
|
21
|
+
|
22
|
+
BUNDLE_DIR = 'vendor/bundle'
|
23
|
+
PODS_DIR = 'Pods'
|
24
|
+
|
25
|
+
|
26
|
+
default_tasks
|
27
|
+
build_ruby_gem
|
28
|
+
|
29
|
+
|
30
|
+
task :build => 'xcode:build'
|
31
|
+
|
32
|
+
task :xcode => 'xcode:open'
|
33
|
+
|
34
|
+
task :update => %w[bundle pods].map {|s| "#{s}:update"}
|
35
|
+
|
36
|
+
task :clean => %w[gem xcode].map {|s| "#{s}:clean"}
|
37
|
+
|
38
|
+
task :clobber => %w[xcode bundle pods].map {|s| "#{s}:clobber"}
|
39
|
+
|
40
|
+
task :run do
|
41
|
+
libs = %w[xot rucy beeps rays reflex processing rubysketch]
|
42
|
+
.map {|lib| "-I#{ENV['ALL']}/#{lib}/lib"}
|
43
|
+
sh %( ruby #{libs.join ' '} -Ilib -rrubysketch/solitaire -e '' )
|
44
|
+
end
|
45
|
+
|
46
|
+
|
47
|
+
namespace :xcode do
|
48
|
+
task :clean do
|
49
|
+
sh %( xcodebuild clean ) if File.exist?(XCODEPROJ)
|
50
|
+
end
|
51
|
+
|
52
|
+
task :clobber => 'xcode:clean' do
|
53
|
+
sh %( rm -rf #{XCWORKSPACE} #{XCODEPROJ} )
|
54
|
+
end
|
55
|
+
|
56
|
+
task :build => XCWORKSPACE do
|
57
|
+
sh %( xcodebuild build )
|
58
|
+
end
|
59
|
+
|
60
|
+
task :open => XCWORKSPACE do
|
61
|
+
sh %( open #{XCWORKSPACE} )
|
62
|
+
end
|
63
|
+
|
64
|
+
file XCWORKSPACE => [BUNDLE_DIR, PODS_DIR]
|
65
|
+
|
66
|
+
file XCODEPROJ do
|
67
|
+
sh %( xcodegen generate )
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
|
72
|
+
namespace :bundle do
|
73
|
+
task :clobber do
|
74
|
+
sh %( rm -rf #{BUNDLE_DIR} )
|
75
|
+
end
|
76
|
+
|
77
|
+
task :update do
|
78
|
+
sh %( bundle update )
|
79
|
+
end
|
80
|
+
|
81
|
+
file BUNDLE_DIR do
|
82
|
+
sh %( bundle install )
|
83
|
+
raise "failed to bundle install" unless File.exist? BUNDLE_DIR
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
|
88
|
+
namespace :pods do
|
89
|
+
task :clobber do
|
90
|
+
sh %( rm -rf #{PODS_DIR} )
|
91
|
+
end
|
92
|
+
|
93
|
+
task :update => [BUNDLE_DIR, XCODEPROJ] do
|
94
|
+
sh %( bundle exec pod update --verbose )
|
95
|
+
end
|
96
|
+
|
97
|
+
file PODS_DIR => [BUNDLE_DIR, XCODEPROJ] do
|
98
|
+
sh %( bundle exec pod install --verbose --repo-update )
|
99
|
+
end
|
100
|
+
end
|