rubysketch-solitaire 0.1.2 → 1.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: 2d503d613912cbf567d47e614780eb870d4ad7b7d08bc97b0d6666a16e716241
4
- data.tar.gz: 5b737469f99d87c0edbe167bc039b38bc35390d56cf375bd0e0cce85a5c2615d
3
+ metadata.gz: 1059414d7ca15a74af2e758512fa602a749a541dd6e9001bc3dcf21165440c05
4
+ data.tar.gz: fd476a43f423c134ad24bb465cdd58014b7d4a93070f9c9f7b9be4352355e4d2
5
5
  SHA512:
6
- metadata.gz: 96054c6193ac3893c6d55298f6dba29ad6f88d2cedf17220dc29cbc6622b4370be6b7d671e3c5994671d1224e1fcaf887ab3ef9412bef31e82c00afacf1ead2d
7
- data.tar.gz: 5bd205ea038b4e696488cc388622b0391849a5dd146e2f3546e591a8e31f00bad6a18364cf9c4ea19608ef60ccbb22db56034d795e9658099753b35af4f299f2
6
+ metadata.gz: fe140def59fe539d72943e581379782769ef031c00b13ac235ae2686575c35632c7c4929c04e90aad9030daf797f9ad6daf1f1dfce65d9625f5f0c0fa14ddbec
7
+ data.tar.gz: 87f65df7fdff281bd900361709d80eb5a12dfe3c0445ead7010da3071e60162f99ab5ae74ac58e0229fd04a4f3221cafdf9b366558f2a79908a1041d7c10e7ac
@@ -0,0 +1,37 @@
1
+ #!/usr/bin/ruby
2
+
3
+
4
+ def versions()
5
+ File.read(File.expand_path '../../ChangeLog.md', __dir__)
6
+ .split(/^\s*##\s*\[\s*v([\d\.]+)\s*\].*$/)
7
+ .slice(1..-1)
8
+ .each_slice(2)
9
+ .to_h
10
+ .transform_values do |changes|
11
+ changes.strip.lines
12
+ .group_by {|line| line[/^\W*(\[\w{2}\])/, 1]}
13
+ .map {|lang, lines|
14
+ [
15
+ lang[/\w+/],
16
+ lines.map {|line| line.sub(lang, '')}.join
17
+ ]
18
+ }
19
+ .to_h
20
+ end
21
+ end
22
+
23
+
24
+ begin
25
+ ver = File.read(File.expand_path '../../VERSION', __dir__)[/[\d\.]+/]
26
+ changes = versions[ver].dig 'en'
27
+ tag = "v#{ver}"
28
+ tags = `git tag`.lines chomp: true
29
+
30
+ raise "no version found" unless ver
31
+ return if tags.include?(tag)
32
+
33
+ raise "no changes found" unless changes
34
+
35
+ puts "Tag '#{tag}'\n#{changes}"
36
+ `git tag -a -m "#{changes}" #{tag}`
37
+ end
data/ChangeLog.md CHANGED
@@ -1,6 +1,18 @@
1
1
  # RubySolitaire ChangeLog
2
2
 
3
3
 
4
+ ## [v1.0] - 2023-06-21
5
+
6
+ - [en]First public version
7
+ - [ja]最初の正式公開バージョン
8
+
9
+
10
+ ## [v0.9.0] - 2023-06-20
11
+
12
+ - [en]First beta version
13
+ - [ja]最初のベータバージョン
14
+
15
+
4
16
  ## [v0.1.2] - 2023-06-16
5
17
 
6
18
  - [en]Fixed some minor bugs
data/README.md CHANGED
@@ -16,6 +16,14 @@
16
16
  $ ruby -rrubysketch/solitaire -e ''
17
17
  ```
18
18
 
19
+ ## How to release to AppStore
20
+
21
+ ### Upload to TestFlight on local macOS
22
+
23
+ 1. Edit ChangeLog.md and commit
24
+ 2. Make sure you have a config.yml file
25
+ 3. run "rake release:testflight"
26
+
19
27
  ## License
20
28
 
21
29
  see [LICENSE](LICENSE) file
data/Rakefile CHANGED
@@ -15,7 +15,8 @@ require 'rubysketch/solitaire/extension'
15
15
 
16
16
  EXTENSIONS = [RubySketch::Solitaire]
17
17
 
18
- GEMNAME = "rubysketch-#{target.name.downcase}"
18
+ GIT_URL = 'https://github.com/xord/solitaire'
19
+ GEMNAME = "rubysketch-#{target.name.downcase}"
19
20
 
20
21
  PROJECT = 'project.yml'
21
22
  CHANGELOG = 'ChangeLog.md'
@@ -55,6 +56,16 @@ def versions()
55
56
  end
56
57
  end
57
58
 
59
+ def clone_tmp(url, dir_name, &block)
60
+ Dir.chdir '/tmp' do
61
+ sh %( rm -rf #{dir_name} )
62
+ sh %( git clone #{url} #{dir_name} )
63
+ chdir dir_name do
64
+ block.call
65
+ end
66
+ end
67
+ end
68
+
58
69
 
59
70
  default_tasks
60
71
  build_ruby_gem
@@ -75,6 +86,14 @@ task :run do
75
86
  sh %( ruby #{libs.join ' '} -Ilib -rrubysketch/solitaire -e '' )
76
87
  end
77
88
 
89
+ task :testflight do |t|
90
+ clone_tmp GIT_URL, "#{APP_NAME}-#{t.name.split(':').last}" do
91
+ puts Dir.pwd
92
+ sh %( cp #{ENV['CONFIG_PATH'] or raise} . )
93
+ sh %( rake release:testflight )
94
+ end
95
+ end
96
+
78
97
 
79
98
  namespace :xcode do
80
99
  task :clean do
@@ -1,4 +1,4 @@
1
- appName = "Solitaire in Space";
1
+ appName = "RubySolitaire";
2
2
 
3
3
  close = "Close";
4
4
 
@@ -11,6 +11,7 @@ struct MenuScreen: View {
11
11
  PrivacyPolicy()
12
12
  Licenses()
13
13
  }
14
+ .navigationBarTitleDisplayMode(.inline)
14
15
  .navigationTitle("\(Strings.appName.s) v\(Helper.appVersion)")
15
16
  .navigationBarItems(leading: BackButton())
16
17
  }
@@ -1,4 +1,4 @@
1
- appName = "宇宙ソリティア";
1
+ appName = "ルビーソリティア";
2
2
 
3
3
  close = "閉じる";
4
4
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.2
1
+ 1.0
data/fastlane/Fastfile CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
 
4
4
  require 'yaml'
5
+ require 'base64'
5
6
 
6
7
 
7
8
  def config(key, defval = nil)
@@ -18,6 +19,29 @@ def workspace()
18
19
  "#{config :app_name}.xcworkspace"
19
20
  end
20
21
 
22
+ def asc_api_key()
23
+ $api_key ||= app_store_connect_api_key(
24
+ key_id: config(:asc_key_id),
25
+ issuer_id: config(:asc_issuer_id),
26
+ key_content: config(:asc_key_content)&.then {|s| Base64.decode64 s})
27
+ end
28
+
29
+ def match_params()
30
+ {
31
+ api_key: asc_api_key,
32
+ app_identifier: config(:app_id),
33
+ git_url: config(:certs_url),
34
+ git_branch: config(:app_name)
35
+ }
36
+ end
37
+
38
+ def upload_params()
39
+ {
40
+ api_key: asc_api_key,
41
+ app_identifier: config(:app_id)
42
+ }
43
+ end
44
+
21
45
 
22
46
  default_platform(:ios)
23
47
 
@@ -33,44 +57,30 @@ platform :ios do
33
57
  use_automatic_signing: false)
34
58
  end
35
59
 
36
- match_params = -> {{
37
- team_id: config(:team_id),
38
- app_identifier: config(:app_id),
39
- git_url: config(:certs_url),
40
- git_branch: config(:app_name)
41
- }}
42
-
43
60
  lane :match_update do
44
61
  %w[development adhoc appstore].each do |type|
45
- sync_code_signing type: type, **match_params.call
62
+ sync_code_signing type: type, **match_params
46
63
  end
47
64
  end
48
65
 
49
66
  lane :match_fetch do
50
67
  %w[development adhoc appstore].each do |type|
51
- sync_code_signing type: type, **match_params.call, readonly: true
68
+ sync_code_signing type: type, **match_params, readonly: true
52
69
  end
53
70
  end
54
71
 
55
72
  lane :match_delete do
56
73
  %w[development distribution].each do |type|
57
- match_nuke(type: type)
74
+ match_nuke type: type
58
75
  end
59
76
  end
60
77
 
61
- upload_params = -> {{
62
- apple_id: config(:apple_id),
63
- team_id: config(:team_id),
64
- app_identifier: config(:app_id)
65
- }}
66
-
67
78
  desc "Upload to TestFlight"
68
79
  lane :release_testflight do
69
- params = upload_params.call
70
- params.update({changelog: config(:changelog)})
80
+ sync_code_signing type: 'appstore', **match_params, readonly: true
71
81
 
72
- sync_code_signing type: 'appstore', readonly: true, **match_params.call
73
82
  build_app workspace: workspace, scheme: config(:app_name)
74
- upload_to_testflight **params
83
+
84
+ upload_to_testflight changelog: config(:changelog), **upload_params
75
85
  end
76
86
  end
@@ -1 +1 @@
1
- Enjoy the best Solitaire experience with "Solitaire in Space"! Vibrant graphics, intuitive controls, and addictive gameplay await you. Lose track of time as you arrange the cards, relieving stress along the way. It's the best choice for Solitaire enthusiasts.
1
+ Enjoy the best Solitaire experience! Vibrant graphics, intuitive controls, and addictive gameplay await you. It's the best choice for Solitaire enthusiasts.
@@ -1 +1 @@
1
- - Fixed some minor bugs
1
+ - First public version
@@ -1 +1 @@
1
- - 軽微な不具合をいくつか修正
1
+ - 最初の正式公開バージョン
@@ -22,6 +22,10 @@ class Settings
22
22
  hash[key]
23
23
  end
24
24
 
25
+ def to_json()
26
+ hash.to_json
27
+ end
28
+
25
29
  private
26
30
 
27
31
  def hash()
@@ -29,7 +33,7 @@ class Settings
29
33
  end
30
34
 
31
35
  def save(path)
32
- File.write path, hash.to_json
36
+ File.write path, to_json
33
37
  end
34
38
 
35
39
  def load(path)
@@ -510,6 +510,10 @@ class Klondike < Scene
510
510
  end
511
511
  d.close
512
512
  end
513
+ d.addButton str("Dump settings"), width: 6 do
514
+ puts settings.to_json
515
+ d.close
516
+ end
513
517
  d.addButton str('Close'), width: 6 do
514
518
  d.close
515
519
  end
data/project.yml CHANGED
@@ -16,8 +16,8 @@ settingGroups:
16
16
 
17
17
  settings:
18
18
  base:
19
- MARKETING_VERSION: 0.1.2
20
- CURRENT_PROJECT_VERSION: 0.1.2
19
+ MARKETING_VERSION: 1.0
20
+ CURRENT_PROJECT_VERSION: 1.0
21
21
  DEVELOPMENT_TEAM: $(TEAM_ID)
22
22
  configs:
23
23
  debug:
@@ -86,9 +86,9 @@ targets:
86
86
  Ruby scripts will be able to retrieve images from the camera.
87
87
  NSUserTrackingUsageDescription:
88
88
  This identifier will be used to deliver personalized ads to you.
89
- GADApplicationIdentifier: ca-app-pub-3940256099942544~1458002511
90
- GADGameScreenBottomBanner: ca-app-pub-3940256099942544/2934735716
91
- GADGameScreenInterstitial: ca-app-pub-3940256099942544/4411468910
89
+ GADApplicationIdentifier: ca-app-pub-2838008143835331~1720297583
90
+ GADGameScreenBottomBanner: ca-app-pub-2838008143835331/4306898056
91
+ GADGameScreenInterstitial: ca-app-pub-2838008143835331/8585888561
92
92
  SKAdNetworkItems:
93
93
  - SKAdNetworkIdentifier: cstr6suwn9.skadnetwork
94
94
  - SKAdNetworkIdentifier: 4fzdc2evr5.skadnetwork
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubysketch-solitaire
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: '1.0'
5
5
  platform: ruby
6
6
  authors:
7
7
  - xordog
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-16 00:00:00.000000000 Z
11
+ date: 2023-06-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: xot
@@ -63,6 +63,7 @@ files:
63
63
  - ".github/workflows/test.yml"
64
64
  - ".github/workflows/utils.rb"
65
65
  - ".gitignore"
66
+ - ".hooks/post-commit"
66
67
  - ".hooks/pre-commit"
67
68
  - ChangeLog.md
68
69
  - Gemfile