souls 1.1.2 → 1.2.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e61ab5e9fda2ecba82fc00631402d0053da390c433dad7c3b7664c84a48688a7
4
- data.tar.gz: bba9d3da7ec7f49c56134ab29b3923f063db1afbcd45d06cec76c9a2601ddb77
3
+ metadata.gz: 88330b37a9727d21e018e0415ee1c9fb13954d78397dd099d7c7273e99831369
4
+ data.tar.gz: edb15c60919ef2a5ba510652e546fb7438cdd5dc32760f10cdd8e729d4aa3f92
5
5
  SHA512:
6
- metadata.gz: 252c4d18a3f3a819429cb76fd1dd53c9aadd3d569f8a3168287371aa910c03383735c5ca12bb89fcc040119f4788ab97bb65a7cd3aa2ec05f5ea7644f947c4f4
7
- data.tar.gz: ad2bb801aff88b3f7f9647ffcea375365c9f279d611e0bc9eb1e4334291b6eef1acdebb2461b6e4b9cc38bb12bb5a3f1514c017e5304ca8f795485c50da059d6
6
+ metadata.gz: 4252ee302de5e2cbd99cbb67f33d868ecb38929d0dd4af71e58c7d20aae2b44f26b8071af3f4ae1ead6bac67aaa2f8d47ebb1ead5b8c3b6ad9cddbe87f87cece
7
+ data.tar.gz: 42a8d5649089e2212cbe79c9e4e3a8496acbb32374707defc1f67f7f2eb53ff2e8abb9bc20219cb73df5289f78e9adb2d1f1d9da4945dae1c7e88429272e82c6
data/README.md CHANGED
@@ -21,6 +21,11 @@
21
21
 
22
22
  - [Go to SOULs Document](https://souls.elsoul.nl/)
23
23
 
24
+ <p>
25
+ <a aria-label="SOULs Document" href="https://souls.elsoul.nl/">
26
+ <img src="https://souls.elsoul.nl/imgs/gifs/souls-new-video.gif">
27
+ </a>
28
+ </p>
24
29
 
25
30
  ## What's SOULs?
26
31
 
@@ -33,14 +38,30 @@ Powered by Ruby GraphQL, RBS/Steep, Active Record, RSpec, RuboCop, and Google Cl
33
38
  - Maximize development efficiency with CI / CD standard schema-driven Scaffold
34
39
  - Achieve global scale with lower management costs
35
40
 
36
- ![画像](https://souls.elsoul.nl/imgs/docs/SOULs-architecture.jpg)
37
-
41
+ ![SOULs Architecture](https://souls.elsoul.nl/imgs/docs/SOULs-architecture.jpg)
38
42
 
39
43
  SOULs creates 2 types of APP.
40
44
 
41
45
  1. API - GraphQL (Ruby) - Simple API - Cloud Run
42
46
  2. Worker - Google Pub/Sub Messaging Worker API (Ruby) - Cloud Run
43
47
 
48
+ ## Ruby type checking
49
+ The SOULs framework uses RBS / Steep, which appeared in Ruby 3.0.
50
+
51
+ - [RBS](https://github.com/ruby/rbs/)
52
+ - [Steep](https://github.com/soutaro/steep/)
53
+
54
+ As a result, typos, column types, etc.
55
+
56
+ It is a development environment where you can immediately notice the mistakes that occur frequently.
57
+
58
+ <p>
59
+ <a aria-label="RBS Demo" href="https://souls.elsoul.nl/ja/docs/guides/basic/type-check/">
60
+ <img src="https://souls.elsoul.nl/imgs/gifs/rbs-video.gif">
61
+ </a>
62
+ </p>
63
+
64
+
44
65
  ## Dependency
45
66
 
46
67
  - [Google SDK](https://cloud.google.com/sdk/docs)
@@ -7,7 +7,11 @@ module Souls
7
7
  create_service_account_key
8
8
  Souls::Gcloud.new.enable_permissions
9
9
  add_permissions
10
- export_key_to_console
10
+ begin
11
+ set_gh_secret_json
12
+ rescue StandardError
13
+ export_key_to_console
14
+ end
11
15
  rescue Thor::Error => e
12
16
  raise(Thor::Error, e)
13
17
  end
@@ -95,5 +99,11 @@ module Souls
95
99
  add_service_account_role(role: role)
96
100
  end
97
101
  end
102
+
103
+ def set_gh_secret_json
104
+ file_path = "config/keyfile.json"
105
+ system("gh secret set GCP_SA_KEY < #{file_path}")
106
+ FileUtils.rm(file_path)
107
+ end
98
108
  end
99
109
  end
@@ -0,0 +1,22 @@
1
+ module Souls
2
+ class Github < Thor
3
+ desc "auth_login", "gcloud config set and gcloud auth login"
4
+ def auth_login
5
+ system("gh auth login")
6
+ rescue Thor::Error => e
7
+ raise(Thor::Error, e)
8
+ end
9
+
10
+ desc "secret_set", "Github Secret Set by Github CLI"
11
+ def secret_set
12
+ require("#{Souls.get_api_path}/config/souls")
13
+ file_path = ".env.production"
14
+ File.open(file_path, "r") do |file|
15
+ file.each_line do |line|
16
+ key_and_value = line.split("=")
17
+ system("gh secret set #{key_and_value[0]} -b \"#{key_and_value[1]}\"")
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -1,5 +1,6 @@
1
1
  require_relative "./console/index"
2
2
  require_relative "./generate/index"
3
+ require_relative "./github/index"
3
4
  require_relative "./update/index"
4
5
  require_relative "./create/index"
5
6
  require_relative "./db/index"
data/lib/souls/cli.rb CHANGED
@@ -4,6 +4,9 @@ module Souls
4
4
  desc "generate [COMMAND]", "SOULs Generate Commands"
5
5
  subcommand "generate", Generate
6
6
 
7
+ desc "github [COMMAND]", "SOULs Github Commands"
8
+ subcommand "github", Github
9
+
7
10
  desc "update [COMMAND]", "SOULs Update Commands"
8
11
  subcommand "update", Update
9
12
 
@@ -32,6 +35,7 @@ module Souls
32
35
  map "c" => :console
33
36
  map "s" => :server
34
37
  map "g" => :generate
38
+ map "gh" => :github
35
39
  map "t" => :test
36
40
  map "d" => :delete
37
41
  map ["-v", "--v", "--version", "-version"] => :version
data/lib/souls/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module Souls
2
- VERSION = "1.1.2".freeze
2
+ VERSION = "1.2.0".freeze
3
3
  public_constant :VERSION
4
4
  end
@@ -1 +1 @@
1
- 1.1.2
1
+ 1.2.0
@@ -1 +1 @@
1
- 1.1.2
1
+ 1.2.0
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: souls
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - POPPIN-FUMI
8
8
  - KishiTheMechanic
9
9
  - James Neve
10
- autorequire:
10
+ autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2021-10-24 00:00:00.000000000 Z
13
+ date: 2021-10-26 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
@@ -197,6 +197,7 @@ files:
197
197
  - lib/souls/cli/generate/rspec_resolver.rb
198
198
  - lib/souls/cli/generate/type.rb
199
199
  - lib/souls/cli/generate/type_rbs.rb
200
+ - lib/souls/cli/github/index.rb
200
201
  - lib/souls/cli/index.rb
201
202
  - lib/souls/cli/init/index.rb
202
203
  - lib/souls/cli/release/index.rb
@@ -230,7 +231,7 @@ metadata:
230
231
  homepage_uri: https://souls.elsoul.nl
231
232
  source_code_uri: https://github.com/elsoul/souls
232
233
  changelog_uri: https://github.com/elsoul/souls
233
- post_install_message:
234
+ post_install_message:
234
235
  rdoc_options: []
235
236
  require_paths:
236
237
  - lib
@@ -246,7 +247,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
246
247
  version: '0'
247
248
  requirements: []
248
249
  rubygems_version: 3.2.22
249
- signing_key:
250
+ signing_key:
250
251
  specification_version: 4
251
252
  summary: Build Serverless Apps faster like Rails. Powered by Ruby GraphQL, RBS/Steep,
252
253
  Active Record, RSpec, RuboCop, and Google Cloud.