souls 1.15.2 → 1.16.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 +4 -4
- data/lib/souls/cli/create/functions.rb +51 -29
- data/lib/souls/cli/create/{template → templates}/functions_env_yaml.rb +0 -0
- data/lib/souls/cli/create/templates/go/function.rb +46 -0
- data/lib/souls/cli/create/templates/go/go.rb +9 -0
- data/lib/souls/cli/create/templates/nodejs/index.rb +26 -0
- data/lib/souls/cli/create/templates/nodejs/package.rb +16 -0
- data/lib/souls/cli/create/templates/python/main.rb +24 -0
- data/lib/souls/cli/create/templates/python/requirements.rb +11 -0
- data/lib/souls/cli/create/templates/ruby/gemfile.rb +14 -0
- data/lib/souls/cli/create/templates/ruby/index.rb +26 -0
- data/lib/souls/cli/delete/connection.rb +1 -1
- data/lib/souls/cli/delete/edge_rbs.rb +1 -1
- data/lib/souls/cli/gcloud/functions/index.rb +29 -10
- data/lib/souls/cli/gcloud/iam/index.rb +2 -1
- data/lib/souls/cli/gcloud/index.rb +2 -0
- data/lib/souls/cli/generate/rspec_query.rb +4 -6
- data/lib/souls/cli/init/index.rb +4 -4
- data/lib/souls/cli/upgrade/gemfile.rb +4 -4
- data/lib/souls/index.rb +1 -0
- data/lib/souls/souls_path.rb +10 -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
- data/lib/souls.rb +0 -14
- metadata +12 -5
- data/lib/souls/cli/create/template/functions_app.rb +0 -24
- data/lib/souls/cli/create/template/functions_gemfile.rb +0 -12
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3f15f29d4efb8c41654774dac322c065ba387b326b9d8884b35dcebfe4e76f20
|
|
4
|
+
data.tar.gz: 4dff20a144f48f194b4d2d39cdc8d22e0e4471b6b493d30adc84029a8006fe59
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 48f2436a0515b1ba00183ebda98b5bd3590c0bc58a966bf2a29f31d583b31e886a022d780ffb244516bbd22f8c15f815da95e262dd2f729ee68ce6907eecc152
|
|
7
|
+
data.tar.gz: 4edcb626880e6e51da8333a01613f7d31e6e64ef1fcdb5a9ead2882255e426f45531f33f74656f76c95ab2007ad252bfeeabee9567c471fec02141ea82db5582
|
|
@@ -1,41 +1,57 @@
|
|
|
1
|
-
require_relative "./
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
require_relative "./templates/functions_env_yaml"
|
|
2
|
+
|
|
3
|
+
Dir["#{Souls::SOULS_PATH}/lib/souls/cli/create/templates/*/*.rb"].map do |f|
|
|
4
|
+
require f
|
|
5
|
+
end
|
|
6
|
+
|
|
4
7
|
module Souls
|
|
5
8
|
class Create < Thor
|
|
6
9
|
desc "functions", "Create SOULs functions"
|
|
7
|
-
def functions
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
def functions(function_name)
|
|
11
|
+
supported_languages = {
|
|
12
|
+
ruby: %w[2.6 2.7],
|
|
13
|
+
nodejs: %w[16 14 12 10],
|
|
14
|
+
python: %w[3.9 3.8 3.7],
|
|
15
|
+
go: ["1.16", "1.13"]
|
|
16
|
+
}
|
|
12
17
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
18
|
+
prompt = TTY::Prompt.new
|
|
19
|
+
runtime = prompt.select("Select Runtime?", supported_languages.keys.map(&:to_s).map(&:camelize))
|
|
20
|
+
runtime_downcased = runtime.downcase
|
|
21
|
+
version = prompt.select("Select Version?", supported_languages[runtime.downcase.to_sym].sort.reverse)
|
|
22
|
+
version_string = "#{runtime_downcased}#{version.gsub('.', '')}"
|
|
23
|
+
runtime_methods = get_runtime_create_method(runtime: runtime_downcased)
|
|
24
|
+
file_dir = "./apps/cf_#{version_string}_#{function_name}"
|
|
17
25
|
FileUtils.mkdir_p(file_dir) unless Dir.exist?(file_dir)
|
|
18
|
-
file_path = "#{file_dir}/app.rb"
|
|
19
|
-
raise(StandardError, "Already Exist!") if File.exist?(file_path)
|
|
20
26
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
27
|
+
runtime_methods.each do |method|
|
|
28
|
+
file_extension =
|
|
29
|
+
case runtime_downcased
|
|
30
|
+
when "nodejs"
|
|
31
|
+
method == "package" ? "json" : "js"
|
|
32
|
+
when "python"
|
|
33
|
+
method == "requirements" ? "txt" : "py"
|
|
34
|
+
when "go"
|
|
35
|
+
method == "go" ? "mod" : "go"
|
|
36
|
+
else
|
|
37
|
+
"rb"
|
|
38
|
+
end
|
|
39
|
+
file_path =
|
|
40
|
+
if method == "gemfile"
|
|
41
|
+
"#{file_dir}/Gemfile"
|
|
42
|
+
else
|
|
43
|
+
"#{file_dir}/#{method}.#{file_extension}"
|
|
44
|
+
end
|
|
45
|
+
file_name = file_dir.gsub("./apps/", "")
|
|
46
|
+
File.write(file_path, Object.const_get("Template::#{runtime}").__send__(method, file_name))
|
|
47
|
+
Souls::Painter.create_file(file_path)
|
|
48
|
+
end
|
|
49
|
+
create_env_yaml(file_dir: file_dir)
|
|
24
50
|
end
|
|
25
51
|
|
|
26
|
-
|
|
27
|
-
file_dir = "./apps/functions"
|
|
28
|
-
FileUtils.mkdir_p(file_dir) unless Dir.exist?(file_dir)
|
|
29
|
-
file_path = "#{file_dir}/Gemfile"
|
|
30
|
-
raise(StandardError, "Already Exist!") if File.exist?(file_path)
|
|
31
|
-
|
|
32
|
-
File.write(file_path, Template.functions_gemfile)
|
|
33
|
-
Souls::Painter.create_file(file_path)
|
|
34
|
-
file_path
|
|
35
|
-
end
|
|
52
|
+
private
|
|
36
53
|
|
|
37
|
-
def create_env_yaml
|
|
38
|
-
file_dir = "./apps/functions"
|
|
54
|
+
def create_env_yaml(file_dir:)
|
|
39
55
|
FileUtils.mkdir_p(file_dir) unless Dir.exist?(file_dir)
|
|
40
56
|
file_path = "#{file_dir}/.env.yaml"
|
|
41
57
|
raise(StandardError, "Already Exist!") if File.exist?(file_path)
|
|
@@ -44,5 +60,11 @@ module Souls
|
|
|
44
60
|
Souls::Painter.create_file(file_path)
|
|
45
61
|
file_path
|
|
46
62
|
end
|
|
63
|
+
|
|
64
|
+
def get_runtime_create_method(runtime:)
|
|
65
|
+
Dir["#{Souls::SOULS_PATH}/lib/souls/cli/create/templates/#{runtime}/*"].map do |n|
|
|
66
|
+
n.split("/").last.gsub(".rb", "")
|
|
67
|
+
end
|
|
68
|
+
end
|
|
47
69
|
end
|
|
48
70
|
end
|
|
File without changes
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
module Template
|
|
2
|
+
module Go
|
|
3
|
+
def self.function(file_name)
|
|
4
|
+
<<~APP
|
|
5
|
+
// Package p contains an HTTP Cloud Function.
|
|
6
|
+
package p
|
|
7
|
+
|
|
8
|
+
import (
|
|
9
|
+
"encoding/json"
|
|
10
|
+
"fmt"
|
|
11
|
+
"html"
|
|
12
|
+
"io"
|
|
13
|
+
"log"
|
|
14
|
+
"net/http"
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
// HelloWorld prints the JSON encoded "message" field in the body
|
|
18
|
+
// of the request or "Hello, World!" if there isn't one.
|
|
19
|
+
func #{file_name}(w http.ResponseWriter, r *http.Request) {
|
|
20
|
+
var d struct {
|
|
21
|
+
Message string `json:"message"`
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
if err := json.NewDecoder(r.Body).Decode(&d); err != nil {
|
|
25
|
+
switch err {
|
|
26
|
+
case io.EOF:
|
|
27
|
+
fmt.Fprint(w, "Hello World!")
|
|
28
|
+
return
|
|
29
|
+
default:
|
|
30
|
+
log.Printf("json.NewDecoder: %v", err)
|
|
31
|
+
http.Error(w, http.StatusText(http.StatusBadRequest), http.StatusBadRequest)
|
|
32
|
+
return
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
if d.Message == "" {
|
|
37
|
+
fmt.Fprint(w, "Hello World!")
|
|
38
|
+
return
|
|
39
|
+
}
|
|
40
|
+
fmt.Fprint(w, html.EscapeString(d.Message))
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
APP
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
module Template
|
|
2
|
+
module Nodejs
|
|
3
|
+
def self.index(file_name)
|
|
4
|
+
<<~APP
|
|
5
|
+
const express = require('express');
|
|
6
|
+
const bodyParser = require('body-parser');
|
|
7
|
+
|
|
8
|
+
const app = express();
|
|
9
|
+
app.use(bodyParser.urlencoded({ extended: true }));
|
|
10
|
+
|
|
11
|
+
app.get('/souls-functions-get', (req, res)=>{
|
|
12
|
+
res.json(req.query)
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
app.get('/souls-functions-get/:id', (req, res)=>{
|
|
16
|
+
res.json(req.params)
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
app.post('/souls-functions-post', (req, res)=>{
|
|
20
|
+
res.json(req.body)
|
|
21
|
+
});
|
|
22
|
+
exports.#{file_name} = app;
|
|
23
|
+
APP
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
module Template
|
|
2
|
+
module Python
|
|
3
|
+
def self.main(file_name)
|
|
4
|
+
<<~APP
|
|
5
|
+
def #{file_name}(request):
|
|
6
|
+
"""Responds to any HTTP request.
|
|
7
|
+
Args:
|
|
8
|
+
request (flask.Request): HTTP request object.
|
|
9
|
+
Returns:
|
|
10
|
+
The response text or any set of values that can be turned into a
|
|
11
|
+
Response object using
|
|
12
|
+
`make_response <http://flask.pocoo.org/docs/1.0/api/#flask.Flask.make_response>`.
|
|
13
|
+
"""
|
|
14
|
+
request_json = request.get_json()
|
|
15
|
+
if request.args and 'message' in request.args:
|
|
16
|
+
return request.args.get('message')
|
|
17
|
+
elif request_json and 'message' in request_json:
|
|
18
|
+
return request_json['message']
|
|
19
|
+
else:
|
|
20
|
+
return f'Hello World!'
|
|
21
|
+
APP
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
module Template
|
|
2
|
+
module Ruby
|
|
3
|
+
def self.index(file_name)
|
|
4
|
+
<<~APP
|
|
5
|
+
require "functions_framework"
|
|
6
|
+
require "sinatra/base"
|
|
7
|
+
require "dotenv/load"
|
|
8
|
+
|
|
9
|
+
class App < Sinatra::Base
|
|
10
|
+
get "/souls-functions-get/:name" do
|
|
11
|
+
"SOULs Functions Job Done! - \#{params['name']}"
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
post "/souls-functions-post" do
|
|
15
|
+
params = JSON.parse(request.body.read)
|
|
16
|
+
"SOULs Functions Job Done! - \#{params['name']}"
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
FunctionsFramework.http(\"#{file_name}\") do |request|
|
|
21
|
+
App.call(request.env)
|
|
22
|
+
end
|
|
23
|
+
APP
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -6,7 +6,7 @@ module Souls
|
|
|
6
6
|
singularized_class_name = class_name.underscore.singularize
|
|
7
7
|
file_path = "#{file_dir}#{singularized_class_name}_connection.rb"
|
|
8
8
|
FileUtils.rm_f(file_path)
|
|
9
|
-
|
|
9
|
+
Souls::Painter.delete_file(file_path)
|
|
10
10
|
file_path
|
|
11
11
|
end
|
|
12
12
|
end
|
|
@@ -7,7 +7,7 @@ module Souls
|
|
|
7
7
|
singularized_class_name = class_name.underscore.singularize
|
|
8
8
|
file_path = "#{file_dir}#{singularized_class_name}_edge.rbs"
|
|
9
9
|
FileUtils.rm_f(file_path)
|
|
10
|
-
|
|
10
|
+
Souls::Painter.delete_file(file_path)
|
|
11
11
|
file_path
|
|
12
12
|
end
|
|
13
13
|
end
|
|
@@ -3,15 +3,19 @@ module Souls
|
|
|
3
3
|
desc "deploy", "Deploy Cloud Functions"
|
|
4
4
|
def deploy
|
|
5
5
|
require(Souls.get_mother_path.to_s + "/config/souls")
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
gcloud functions deploy souls_functions --project=#{project_id} \
|
|
11
|
-
--runtime ruby27 --trigger-http --allow-unauthenticated --env-vars-file .env.yaml
|
|
12
|
-
"
|
|
13
|
-
)
|
|
6
|
+
current_dir = FileUtils.pwd.split("/").last
|
|
7
|
+
unless current_dir.match?(/^cf_/)
|
|
8
|
+
Souls::Painter.error("You are at wrong dir!\nPlease go to `apps/functions` dir!")
|
|
9
|
+
return false
|
|
14
10
|
end
|
|
11
|
+
|
|
12
|
+
runtime = current_dir.match(/cf_(\D+\d+)_/)[1]
|
|
13
|
+
system(
|
|
14
|
+
"
|
|
15
|
+
gcloud functions deploy #{current_dir} --project=#{project_id} \
|
|
16
|
+
--runtime #{runtime} --trigger-http --allow-unauthenticated --env-vars-file .env.yaml
|
|
17
|
+
"
|
|
18
|
+
)
|
|
15
19
|
end
|
|
16
20
|
|
|
17
21
|
desc "describe", "Describe SOULs Functions"
|
|
@@ -25,13 +29,28 @@ module Souls
|
|
|
25
29
|
def url
|
|
26
30
|
require(Souls.get_mother_path.to_s + "/config/souls")
|
|
27
31
|
project_id = Souls.configuration.project_id
|
|
28
|
-
|
|
32
|
+
current_dir = FileUtils.pwd.split("/").last
|
|
33
|
+
Souls::Painter.success(`gcloud functions describe #{current_dir} --project=#{project_id}| grep url`)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
desc "all_url", "Get SOULs Functions All URL"
|
|
37
|
+
def all_url
|
|
38
|
+
require(Souls.get_mother_path.to_s + "/config/souls")
|
|
39
|
+
project_id = Souls.configuration.project_id
|
|
40
|
+
Dir.chdir(Souls.get_mother_path.to_s) do
|
|
41
|
+
souls_functions = Dir["apps/cf_*"]
|
|
42
|
+
cf_dir = souls_functions.map { |n| n.split("/").last }
|
|
43
|
+
cf_dir.each do |dir|
|
|
44
|
+
Souls::Painter.success(`gcloud functions describe #{dir} --project=#{project_id}| grep url`)
|
|
45
|
+
end
|
|
46
|
+
end
|
|
29
47
|
end
|
|
30
48
|
|
|
31
49
|
desc "dev", "Check SOULs Functions dev"
|
|
32
50
|
def dev
|
|
33
51
|
Dir.chdir(Souls.get_functions_path.to_s) do
|
|
34
|
-
|
|
52
|
+
current_dir = FileUtils.pwd.split("/").last
|
|
53
|
+
system("bundle exec functions-framework-ruby --target #{current_dir}")
|
|
35
54
|
end
|
|
36
55
|
end
|
|
37
56
|
end
|
|
@@ -101,7 +101,8 @@ module Souls
|
|
|
101
101
|
"roles/storage.objectAdmin",
|
|
102
102
|
"roles/cloudscheduler.admin",
|
|
103
103
|
"roles/appengine.appCreator",
|
|
104
|
-
"roles/logging.admin"
|
|
104
|
+
"roles/logging.admin",
|
|
105
|
+
"roles/cloudtranslate.admin"
|
|
105
106
|
]
|
|
106
107
|
roles.each do |role|
|
|
107
108
|
add_service_account_role(role: role)
|
|
@@ -60,6 +60,8 @@ module Souls
|
|
|
60
60
|
system("gcloud services enable vpcaccess.googleapis.com")
|
|
61
61
|
system("gcloud services enable cloudscheduler.googleapis.com")
|
|
62
62
|
system("gcloud services enable cloudresourcemanager.googleapis.com")
|
|
63
|
+
system("gcloud services enable translate.googleapis.com")
|
|
64
|
+
system("gcloud services enable firestore.googleapis.com")
|
|
63
65
|
end
|
|
64
66
|
end
|
|
65
67
|
end
|
|
@@ -150,16 +150,14 @@ module Souls
|
|
|
150
150
|
next
|
|
151
151
|
else
|
|
152
152
|
case type
|
|
153
|
-
when "text", "date", "datetime"
|
|
153
|
+
when "bigint", "integer", "float", "string", "text", "date", "datetime"
|
|
154
154
|
if array_true
|
|
155
|
-
new_line.write(" \"#{name.camelize(:lower)}\" => be_all(
|
|
155
|
+
new_line.write(" \"#{name.camelize(:lower)}\" => be_all(#{field}),\n")
|
|
156
156
|
else
|
|
157
|
-
new_line.write(" \"#{name.camelize(:lower)}\" => be_a(
|
|
157
|
+
new_line.write(" \"#{name.camelize(:lower)}\" => be_a(#{field}),\n")
|
|
158
158
|
end
|
|
159
159
|
when "boolean"
|
|
160
|
-
new_line.write(" \"#{name.
|
|
161
|
-
when "string", "bigint", "integer", "float"
|
|
162
|
-
new_line.write(" \"#{name.singularize.camelize(:lower)}\" => be_a(#{field}),\n")
|
|
160
|
+
new_line.write(" \"#{name.camelize(:lower)}\" => be_in([true, false]),\n")
|
|
163
161
|
end
|
|
164
162
|
end
|
|
165
163
|
end
|
data/lib/souls/cli/init/index.rb
CHANGED
|
@@ -73,7 +73,7 @@ module Souls
|
|
|
73
73
|
config.region = "asia-northeast1"
|
|
74
74
|
config.endpoint = "/endpoint"
|
|
75
75
|
config.strain = "api"
|
|
76
|
-
config.fixed_gems = ["spring"]
|
|
76
|
+
config.fixed_gems = ["spring", "grpc"]
|
|
77
77
|
config.workers = []
|
|
78
78
|
end
|
|
79
79
|
TEXT
|
|
@@ -121,7 +121,7 @@ module Souls
|
|
|
121
121
|
f.write(<<~TEXT)
|
|
122
122
|
source "https://rubygems.org"
|
|
123
123
|
|
|
124
|
-
gem "activesupport", "
|
|
124
|
+
gem "activesupport", "7.0.0"
|
|
125
125
|
gem "foreman", "0.87.2"
|
|
126
126
|
gem "google-cloud-pubsub", "2.9.0"
|
|
127
127
|
gem "paint", "2.2.1"
|
|
@@ -129,11 +129,11 @@ module Souls
|
|
|
129
129
|
gem "pg", "1.2.3"
|
|
130
130
|
gem "rake", "13.0.6"
|
|
131
131
|
gem "rspec", "3.10.0"
|
|
132
|
-
gem "rubocop", "1.
|
|
132
|
+
gem "rubocop", "1.24.1"
|
|
133
133
|
gem "sinatra-activerecord", "2.0.25"
|
|
134
134
|
gem "solargraph", "0.44.0"
|
|
135
135
|
#{souls_gem}
|
|
136
|
-
gem "steep", "0.
|
|
136
|
+
gem "steep", "0.47.0"
|
|
137
137
|
gem "thor", "1.1.0"
|
|
138
138
|
gem "tty-prompt", "0.23.1"
|
|
139
139
|
gem "whirly", "0.3.0"
|
|
@@ -17,8 +17,8 @@ module Souls
|
|
|
17
17
|
tmp_file = "./config/Gemfile"
|
|
18
18
|
new_gems = gemfile_latest_version
|
|
19
19
|
logs = []
|
|
20
|
-
message =
|
|
21
|
-
return "Already Up to date!" &&
|
|
20
|
+
message = "Already Up to date!"
|
|
21
|
+
return "Already Up to date!" && Souls::Painter.warning(message) if new_gems[:gems].blank?
|
|
22
22
|
|
|
23
23
|
@i = 0
|
|
24
24
|
File.open(file_path, "r") do |f|
|
|
@@ -72,8 +72,7 @@ module Souls
|
|
|
72
72
|
FileUtils.rm("./Gemfile.lock")
|
|
73
73
|
FileUtils.mv("./config/Gemfile", "./Gemfile")
|
|
74
74
|
system("bundle update")
|
|
75
|
-
success
|
|
76
|
-
puts(success)
|
|
75
|
+
Souls::Painter.success("\n\nSuccessfully Updated These Gems!\n")
|
|
77
76
|
logs.each do |line|
|
|
78
77
|
puts(line)
|
|
79
78
|
end
|
|
@@ -89,6 +88,7 @@ module Souls
|
|
|
89
88
|
f.each_line do |line|
|
|
90
89
|
from_dev = true if line.include?("group")
|
|
91
90
|
next unless line.include?("gem ")
|
|
91
|
+
next if line.include?("require: ")
|
|
92
92
|
|
|
93
93
|
gem = line.gsub("gem ", "").gsub("\"", "").gsub("\n", "").gsub(" ", "").split(",")
|
|
94
94
|
url = URI("https://rubygems.org/api/v1/versions/#{gem[0]}/latest.json")
|
data/lib/souls/index.rb
CHANGED
data/lib/souls/version.rb
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.
|
|
1
|
+
1.16.0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
1.
|
|
1
|
+
1.16.0
|
data/lib/souls.rb
CHANGED
|
@@ -3,7 +3,6 @@ require_relative "souls/cli"
|
|
|
3
3
|
require "active_support/core_ext/string/inflections"
|
|
4
4
|
require "date"
|
|
5
5
|
require "json"
|
|
6
|
-
require "fileutils"
|
|
7
6
|
require "net/http"
|
|
8
7
|
require "paint"
|
|
9
8
|
require "whirly"
|
|
@@ -13,19 +12,6 @@ require "resolv"
|
|
|
13
12
|
|
|
14
13
|
module Souls
|
|
15
14
|
extend Souls::Utils
|
|
16
|
-
SOULS_METHODS = %w[
|
|
17
|
-
model
|
|
18
|
-
query
|
|
19
|
-
mutation
|
|
20
|
-
type
|
|
21
|
-
resolver
|
|
22
|
-
rspec_factory
|
|
23
|
-
rspec_model
|
|
24
|
-
rspec_query
|
|
25
|
-
rspec_mutation
|
|
26
|
-
rspec_resolver
|
|
27
|
-
].freeze
|
|
28
|
-
public_constant :SOULS_METHODS
|
|
29
15
|
class Error < StandardError; end
|
|
30
16
|
class << self
|
|
31
17
|
attr_accessor :configuration
|
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.
|
|
4
|
+
version: 1.16.0
|
|
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:
|
|
13
|
+
date: 2022-01-03 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: activesupport
|
|
@@ -176,9 +176,15 @@ files:
|
|
|
176
176
|
- lib/souls/cli/console/index.rb
|
|
177
177
|
- lib/souls/cli/create/functions.rb
|
|
178
178
|
- lib/souls/cli/create/index.rb
|
|
179
|
-
- lib/souls/cli/create/
|
|
180
|
-
- lib/souls/cli/create/
|
|
181
|
-
- lib/souls/cli/create/
|
|
179
|
+
- lib/souls/cli/create/templates/functions_env_yaml.rb
|
|
180
|
+
- lib/souls/cli/create/templates/go/function.rb
|
|
181
|
+
- lib/souls/cli/create/templates/go/go.rb
|
|
182
|
+
- lib/souls/cli/create/templates/nodejs/index.rb
|
|
183
|
+
- lib/souls/cli/create/templates/nodejs/package.rb
|
|
184
|
+
- lib/souls/cli/create/templates/python/main.rb
|
|
185
|
+
- lib/souls/cli/create/templates/python/requirements.rb
|
|
186
|
+
- lib/souls/cli/create/templates/ruby/gemfile.rb
|
|
187
|
+
- lib/souls/cli/create/templates/ruby/index.rb
|
|
182
188
|
- lib/souls/cli/db/create_migration.rb
|
|
183
189
|
- lib/souls/cli/db/create_migration_rbs.rb
|
|
184
190
|
- lib/souls/cli/db/index.rb
|
|
@@ -269,6 +275,7 @@ files:
|
|
|
269
275
|
- lib/souls/cli/upgrade/index.rb
|
|
270
276
|
- lib/souls/cli/upgrade/submodule.rb
|
|
271
277
|
- lib/souls/index.rb
|
|
278
|
+
- lib/souls/souls_path.rb
|
|
272
279
|
- lib/souls/utils/index.rb
|
|
273
280
|
- lib/souls/version.rb
|
|
274
281
|
- lib/souls/versions/.souls_api_version
|
|
@@ -1,24 +0,0 @@
|
|
|
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
|