souls 1.1.2 → 1.2.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: 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.