souls 1.13.4 → 1.13.8
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/lib/souls/cli/create/functions.rb +35 -0
- data/lib/souls/cli/create/index.rb +1 -0
- data/lib/souls/cli/create/template/functions_app.rb +24 -0
- data/lib/souls/cli/create/template/functions_gemfile.rb +12 -0
- data/lib/souls/cli/db/index.rb +15 -1
- data/lib/souls/cli/gcloud/functions/index.rb +24 -0
- data/lib/souls/cli/gcloud/index.rb +4 -0
- data/lib/souls/cli/generate/manager.rb +1 -0
- data/lib/souls/cli/generate/manager_rbs.rb +2 -2
- data/lib/souls/cli/generate/query.rb +0 -24
- data/lib/souls/cli/generate/query_rbs.rb +0 -25
- data/lib/souls/cli/generate/rspec_manager.rb +4 -2
- data/lib/souls/cli.rb +3 -0
- data/lib/souls/version.rb +1 -1
- data/lib/souls/versions/.souls_api_version +1 -1
- data/lib/souls/versions/.souls_worker_version +1 -1
- metadata +11 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 72b7296bab23e98fd9b93903438de51f974d3c6b5e259ac33507482709a2d42f
|
4
|
+
data.tar.gz: 3bc159dcedd469188c6dae391e33e66457967f028459ee409d98bacb29213ac9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cdf23e5b33d20ddb69e9f8c53df6500477114f098a76d7815378f0a4c5ed7c9f8154a6fdface501449eb3af8d9d2af1510250af20717ab912cb89feb0839cfc8
|
7
|
+
data.tar.gz: 3a501236dc84b6b7156603a9e4b65a0c7afdc13048c4b1d42b8f27dcfe266198bc801e9ec1cbe58ced9f90b2842bb1d0b233879b4b7e9a30b9aa5361f47203b2
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require_relative "./template/functions_app"
|
2
|
+
require_relative "./template/functions_gemfile"
|
3
|
+
module Souls
|
4
|
+
class Create < Thor
|
5
|
+
desc "functions", "Create SOULs functions"
|
6
|
+
def functions
|
7
|
+
create_app_file
|
8
|
+
create_gemfile
|
9
|
+
end
|
10
|
+
|
11
|
+
private
|
12
|
+
|
13
|
+
def create_app_file
|
14
|
+
file_dir = "./apps/functions"
|
15
|
+
FileUtils.mkdir_p(file_dir) unless Dir.exist?(file_dir)
|
16
|
+
file_path = "#{file_dir}/app.rb"
|
17
|
+
raise(StandardError, "Already Exist!") if File.exist?(file_path)
|
18
|
+
|
19
|
+
File.write(file_path, Template.functions_app)
|
20
|
+
Souls::Painter.create_file(file_path)
|
21
|
+
file_path
|
22
|
+
end
|
23
|
+
|
24
|
+
def create_gemfile
|
25
|
+
file_dir = "./apps/functions"
|
26
|
+
FileUtils.mkdir_p(file_dir) unless Dir.exist?(file_dir)
|
27
|
+
file_path = "#{file_dir}/Gemfile"
|
28
|
+
raise(StandardError, "Already Exist!") if File.exist?(file_path)
|
29
|
+
|
30
|
+
File.write(file_path, Template.functions_gemfile)
|
31
|
+
Souls::Painter.create_file(file_path)
|
32
|
+
file_path
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Template
|
2
|
+
def self.functions_app
|
3
|
+
<<~APP
|
4
|
+
require "functions_framework"
|
5
|
+
require "sinatra/base"
|
6
|
+
require "dotenv/load"
|
7
|
+
|
8
|
+
class App < Sinatra::Base
|
9
|
+
get "/souls-functions-get/:name" do
|
10
|
+
"SOULs Functions Job Done! - \#{params['name']}"
|
11
|
+
end
|
12
|
+
|
13
|
+
post "/souls-functions-post" do
|
14
|
+
params = JSON.parse(request.body.read)
|
15
|
+
"SOULs Functions Job Done! - \#{params['name']}"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
FunctionsFramework.http("souls_functions") do |request|
|
20
|
+
App.call(request.env)
|
21
|
+
end
|
22
|
+
APP
|
23
|
+
end
|
24
|
+
end
|
data/lib/souls/cli/db/index.rb
CHANGED
@@ -55,6 +55,20 @@ module Souls
|
|
55
55
|
end
|
56
56
|
end
|
57
57
|
|
58
|
+
desc "reset", "Reset Database and Seed"
|
59
|
+
method_option :env, aliases: "--e", default: "development", desc: "Difine APP Enviroment - development | production"
|
60
|
+
def reset
|
61
|
+
case options[:env]
|
62
|
+
when "production"
|
63
|
+
db_system("rake db:migrate:reset RACK_ENV=production DISABLE_DATABASE_ENVIRONMENT_CHECK=1")
|
64
|
+
db_system("rake db:seed RACK_ENV=production")
|
65
|
+
else
|
66
|
+
db_system("rake db:migrate:reset")
|
67
|
+
db_system("rake db:migrate RACK_ENV=test")
|
68
|
+
db_system("rake db:seed")
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
58
72
|
desc "add_column [CLASS_NAME]", "Create ActiveRecord Migration File"
|
59
73
|
def add_column(class_name)
|
60
74
|
pluralized_class_name = class_name.underscore.pluralize
|
@@ -88,7 +102,7 @@ module Souls
|
|
88
102
|
private
|
89
103
|
|
90
104
|
def db_system(cmd)
|
91
|
-
system(cmd) or
|
105
|
+
system(cmd) or Souls::Painter.error("DB is not running. Please run `souls docker psql`")
|
92
106
|
end
|
93
107
|
end
|
94
108
|
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Souls
|
2
|
+
class Functions < Thor
|
3
|
+
desc "deploy", "Deploy Cloud Functions"
|
4
|
+
def deploy
|
5
|
+
project_id = Souls.configuration.project_id
|
6
|
+
Souls::Gcloud.new.config_set
|
7
|
+
Dir.chdir(Souls.get_functions_path.to_s) do
|
8
|
+
system(
|
9
|
+
"
|
10
|
+
gcloud functions deploy souls_functions --project=#{project_id} \
|
11
|
+
--runtime ruby27 --trigger-http --allow-unauthenticated
|
12
|
+
"
|
13
|
+
)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
desc "dev", "Check SOULs Functions dev"
|
18
|
+
def dev
|
19
|
+
Dir.chdir(Souls.get_functions_path.to_s) do
|
20
|
+
system("bundle exec functions-framework-ruby --target souls_functions")
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -4,6 +4,7 @@ require_relative "./run/index"
|
|
4
4
|
require_relative "./sql/index"
|
5
5
|
require_relative "./compute/index"
|
6
6
|
require_relative "./scheduler/index"
|
7
|
+
require_relative "./functions/index"
|
7
8
|
require_relative "../cli_exception"
|
8
9
|
|
9
10
|
module Souls
|
@@ -26,6 +27,9 @@ module Souls
|
|
26
27
|
desc "scheduler [COMMAND]", "souls gcloud schedluer Commands"
|
27
28
|
subcommand "scheduler", CloudScheduler
|
28
29
|
|
30
|
+
desc "functions [COMMAND]", "souls gcloud functions Commands"
|
31
|
+
subcommand "functions", Functions
|
32
|
+
|
29
33
|
map run: "cloud_run"
|
30
34
|
|
31
35
|
desc "auth_login", "gcloud config set and gcloud auth login"
|
@@ -13,8 +13,8 @@ module Souls
|
|
13
13
|
f.write(<<~TEXT)
|
14
14
|
module Mutations
|
15
15
|
module Managers
|
16
|
-
module #{singularized_class_name.camelize}Manager
|
17
|
-
class #{options[:mutation].singularize.camelize}
|
16
|
+
module #{singularized_class_name.camelize}Manager
|
17
|
+
class #{options[:mutation].singularize.camelize} < BaseMutation
|
18
18
|
def self.description: (String)-> untyped
|
19
19
|
def self.argument: (untyped, untyped, untyped)-> untyped
|
20
20
|
def self.field: (untyped, untyped, untyped)-> untyped
|
@@ -6,34 +6,10 @@ module Souls
|
|
6
6
|
FileUtils.mkdir_p(file_dir) unless Dir.exist?(file_dir)
|
7
7
|
singularized_class_name = class_name.singularize
|
8
8
|
create_individual_query(class_name: singularized_class_name)
|
9
|
-
create_index_query(class_name: singularized_class_name)
|
10
9
|
end
|
11
10
|
|
12
11
|
private
|
13
12
|
|
14
|
-
def create_index_query(class_name: "user")
|
15
|
-
file_path = "./app/graphql/queries/#{class_name.pluralize}.rb"
|
16
|
-
return "Query already exist! #{file_path}" if File.exist?(file_path)
|
17
|
-
|
18
|
-
File.open(file_path, "w") do |f|
|
19
|
-
f.write(<<~TEXT)
|
20
|
-
module Queries
|
21
|
-
class #{class_name.camelize.pluralize} < Queries::BaseQuery
|
22
|
-
type [Types::#{class_name.camelize}Type], null: false
|
23
|
-
|
24
|
-
def resolve
|
25
|
-
::#{class_name.camelize}.all
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
TEXT
|
30
|
-
end
|
31
|
-
Souls::Painter.create_file(file_path.to_s)
|
32
|
-
file_path
|
33
|
-
rescue StandardError => e
|
34
|
-
raise(StandardError, e)
|
35
|
-
end
|
36
|
-
|
37
13
|
def create_individual_query(class_name: "user")
|
38
14
|
file_path = "./app/graphql/queries/#{class_name}.rb"
|
39
15
|
return "Query already exist! #{file_path}" if File.exist?(file_path)
|
@@ -3,7 +3,6 @@ module Souls
|
|
3
3
|
desc "query_rbs [CLASS_NAME]", "Generate GraphQL Query RBS"
|
4
4
|
def query_rbs(class_name)
|
5
5
|
single_query_rbs(class_name)
|
6
|
-
queries_rbs(class_name)
|
7
6
|
end
|
8
7
|
|
9
8
|
private
|
@@ -35,29 +34,5 @@ module Souls
|
|
35
34
|
end
|
36
35
|
file_path
|
37
36
|
end
|
38
|
-
|
39
|
-
def queries_rbs(class_name)
|
40
|
-
file_path = ""
|
41
|
-
Dir.chdir(Souls.get_mother_path.to_s) do
|
42
|
-
file_dir = "./sig/api/app/graphql/queries/"
|
43
|
-
FileUtils.mkdir_p(file_dir) unless Dir.exist?(file_dir)
|
44
|
-
pluralized_class_name = class_name.underscore.pluralize
|
45
|
-
file_path = "#{file_dir}#{pluralized_class_name}.rbs"
|
46
|
-
File.open(file_path, "w") do |f|
|
47
|
-
f.write(<<~TEXT)
|
48
|
-
module Queries
|
49
|
-
class BaseQuery
|
50
|
-
end
|
51
|
-
class #{pluralized_class_name.camelize} < Queries::BaseQuery
|
52
|
-
def resolve: () -> ( Hash[Symbol, ( String | Integer | bool )] | ::GraphQL::ExecutionError)
|
53
|
-
def self.type: (*untyped) -> String
|
54
|
-
end
|
55
|
-
end
|
56
|
-
TEXT
|
57
|
-
end
|
58
|
-
Souls::Painter.create_file(file_path.to_s)
|
59
|
-
end
|
60
|
-
file_path
|
61
|
-
end
|
62
37
|
end
|
63
38
|
end
|
@@ -16,7 +16,9 @@ module Souls
|
|
16
16
|
|
17
17
|
let(:mutation) do
|
18
18
|
%(mutation {
|
19
|
-
#{options[:mutation].singularize.camelize(:lower)}(input: {
|
19
|
+
#{options[:mutation].singularize.camelize(:lower)}(input: {
|
20
|
+
argument: "argument test!"
|
21
|
+
}) {
|
20
22
|
response
|
21
23
|
}
|
22
24
|
}
|
@@ -34,7 +36,7 @@ module Souls
|
|
34
36
|
rescue StandardError
|
35
37
|
raise(StandardError, result)
|
36
38
|
end
|
37
|
-
expect(a1).to(
|
39
|
+
expect(a1).to(eq("success!"))
|
38
40
|
end
|
39
41
|
end
|
40
42
|
end
|
data/lib/souls/cli.rb
CHANGED
@@ -31,6 +31,9 @@ module Souls
|
|
31
31
|
desc "upgrade [COMMAND]", "SOULs Upgrade Commands"
|
32
32
|
subcommand "upgrade", Upgrade
|
33
33
|
|
34
|
+
desc "functions [COMMAND]", "SOULs functions Commands"
|
35
|
+
subcommand "functions", Functions
|
36
|
+
|
34
37
|
# rubocop:disable Style/StringHashKeys
|
35
38
|
map "c" => :console
|
36
39
|
map "s" => :server
|
data/lib/souls/version.rb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.13.
|
1
|
+
1.13.8
|
@@ -1 +1 @@
|
|
1
|
-
1.13.
|
1
|
+
1.13.8
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: souls
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.13.
|
4
|
+
version: 1.13.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- POPPIN-FUMI
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date: 2021-12-
|
13
|
+
date: 2021-12-24 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|
@@ -138,10 +138,9 @@ dependencies:
|
|
138
138
|
- - ">="
|
139
139
|
- !ruby/object:Gem::Version
|
140
140
|
version: 1.1.0
|
141
|
-
description:
|
142
|
-
|
143
|
-
|
144
|
-
Record, RSpec, RuboCop, and Google Cloud. "
|
141
|
+
description: |-
|
142
|
+
Ruby Serverless Framework 'SOULs' | Ruby サーバーレスフレームワーク SOULs.
|
143
|
+
Powered by Ruby GraphQL, RBS/Steep, Active Record, RSpec, RuboCop, and Google Cloud.
|
145
144
|
email:
|
146
145
|
- f.kawasaki@elsoul.nl
|
147
146
|
- s.kishi@elsoul.nl
|
@@ -175,7 +174,10 @@ files:
|
|
175
174
|
- lib/souls/cli.rb
|
176
175
|
- lib/souls/cli/cli_exception.rb
|
177
176
|
- lib/souls/cli/console/index.rb
|
177
|
+
- lib/souls/cli/create/functions.rb
|
178
178
|
- lib/souls/cli/create/index.rb
|
179
|
+
- lib/souls/cli/create/template/functions_app.rb
|
180
|
+
- lib/souls/cli/create/template/functions_gemfile.rb
|
179
181
|
- lib/souls/cli/db/create_migration.rb
|
180
182
|
- lib/souls/cli/db/create_migration_rbs.rb
|
181
183
|
- lib/souls/cli/db/index.rb
|
@@ -209,6 +211,7 @@ files:
|
|
209
211
|
- lib/souls/cli/delete/type_rbs.rb
|
210
212
|
- lib/souls/cli/docker/index.rb
|
211
213
|
- lib/souls/cli/gcloud/compute/index.rb
|
214
|
+
- lib/souls/cli/gcloud/functions/index.rb
|
212
215
|
- lib/souls/cli/gcloud/iam/index.rb
|
213
216
|
- lib/souls/cli/gcloud/index.rb
|
214
217
|
- lib/souls/cli/gcloud/pubsub/index.rb
|
@@ -292,8 +295,6 @@ requirements: []
|
|
292
295
|
rubygems_version: 3.2.32
|
293
296
|
signing_key:
|
294
297
|
specification_version: 4
|
295
|
-
summary: Ruby Serverless Framework 'SOULs'
|
296
|
-
|
297
|
-
Apps faster like Rails. Powered by Ruby GraphQL, RBS/Steep, Active Record, RSpec,
|
298
|
-
RuboCop, and Google Cloud.
|
298
|
+
summary: Ruby Serverless Framework 'SOULs' | Ruby サーバーレスフレームワーク SOULs. Powered by
|
299
|
+
Ruby GraphQL, RBS/Steep, Active Record, RSpec, RuboCop, and Google Cloud.
|
299
300
|
test_files: []
|