souls 1.19.4 → 1.19.8

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: 6cd5ddd6a55b4b803fc8e815afdf4fbb27d638ae1ef7cd6714d1205b8c4c3818
4
- data.tar.gz: 00f110a29e05dda4a3790c128ba9f9ff0b019057874009766e2cd18cab426dc4
3
+ metadata.gz: 3bfb5aba9ee1c61c94280607df87f643dca9ca4b24a97ad098d005d10ccad65f
4
+ data.tar.gz: 801641e0e9bb8fff4908f4b3febfd0f8024b836b3a16f338b2cafd1f6728aeba
5
5
  SHA512:
6
- metadata.gz: fcaa0f1b6d9f1ca3dc20ef00a8550362c3bed338141cdb60cdde0e655dcc93185d4f8af738fac82a549ed27cf3198532c94009f27e8522eade002bd82cb2b109
7
- data.tar.gz: c6c7a35a0d1ba0f8fb5797e61081f567a4627935d465e1756da524e983a81f1136623b95e98067248393be75b13129efab3d627d67ab27043bc0322d68e748fa
6
+ metadata.gz: eea9d1f2ce11a802eb81cfe5b43bf1db40baed767dce82da0d9fc4f845a6ed26972fcc9808a904dfdab4ec0ff9787b28a5e902cf15f7eb521f950ca4fbb56a46
7
+ data.tar.gz: 38b3bea572fd8792b7e1a67e2d12930d86637aad9ea45bfeb233e89b3c1b6753212971dae8018001a7dd4f7162509b6afa0e8954a40a5d396c8abdb6858ca23c
@@ -13,16 +13,28 @@ module SOULs
13
13
  puts(Paint % ["✓ %{white_text}", :red, { white_text: ["Deleted file #{text}", :white] }])
14
14
  end
15
15
 
16
- def error(text)
17
- puts(Paint["🚨 #{text}", :red])
16
+ def error(text, emoji = nil)
17
+ if emoji
18
+ puts(Paint["#{emoji} #{text}", :red])
19
+ else
20
+ puts(Paint["🚨 #{text}", :red])
21
+ end
18
22
  end
19
23
 
20
- def warning(text)
21
- puts(Paint["🚨 #{text}", :yellow])
24
+ def warning(text, emoji = nil)
25
+ if emoji
26
+ puts(Paint["#{emoji} #{text}", :yellow])
27
+ else
28
+ puts(Paint["🚨 #{text}", :yellow])
29
+ end
22
30
  end
23
31
 
24
- def success(text)
25
- puts(Paint["🎉 #{text}", :green])
32
+ def success(text, emoji = nil)
33
+ if emoji
34
+ puts(Paint["#{emoji} #{text}", :green])
35
+ else
36
+ puts(Paint["🎉 #{text}", :green])
37
+ end
26
38
  end
27
39
 
28
40
  def sync(text)
@@ -1,7 +1,6 @@
1
1
  module Template
2
2
  module Go
3
3
  def self.function(file_name)
4
- file_name.underscore.camelize
5
4
  <<~APP
6
5
  // Package p contains an HTTP Cloud Function.
7
6
  package p
@@ -17,7 +16,7 @@ module Template
17
16
 
18
17
  // HelloWorld prints the JSON encoded "message" field in the body
19
18
  // of the request or "Hello, World!" if there isn't one.
20
- func #{file_name}(w http.ResponseWriter, r *http.Request) {
19
+ func #{file_name.underscore.camelize}(w http.ResponseWriter, r *http.Request) {
21
20
  var d struct {
22
21
  Message string `json:"message"`
23
22
  }
@@ -1,7 +1,6 @@
1
1
  module Template
2
2
  module Nodejs
3
3
  def self.index(file_name)
4
- file_name.underscore.camelize(:lower)
5
4
  <<~APP
6
5
  const express = require('express');
7
6
  const bodyParser = require('body-parser');
@@ -20,7 +19,7 @@ module Template
20
19
  app.post('/souls-functions-post', (req, res)=>{
21
20
  res.json(req.body)
22
21
  });
23
- exports.#{file_name} = app;
22
+ exports.#{file_name.underscore.camelize(:lower)} = app;
24
23
  APP
25
24
  end
26
25
  end
@@ -1,9 +1,8 @@
1
1
  module Template
2
2
  module Python
3
3
  def self.main(file_name)
4
- file_name.underscore
5
4
  <<~APP
6
- def #{file_name}(request):
5
+ def #{file_name.underscore}(request):
7
6
  """Responds to any HTTP request.
8
7
  Args:
9
8
  request (flask.Request): HTTP request object.
@@ -63,6 +63,7 @@ module SOULs
63
63
  system("gcloud services enable translate.googleapis.com")
64
64
  system("gcloud services enable firestore.googleapis.com")
65
65
  system("gcloud services enable cloudfunctions.googleapis.com")
66
+ system("gcloud services enable cloudbuild.googleapis.com")
66
67
  end
67
68
  end
68
69
  end
@@ -1,4 +1,3 @@
1
- require "google/cloud/pubsub"
2
1
  require_relative "./model"
3
2
  require_relative "./pubsub"
4
3
  require_relative "./conf"
@@ -15,15 +15,14 @@ module SOULs
15
15
  return false if url.blank?
16
16
 
17
17
  worker_file_names = get_workers_file_paths
18
- return false if worker_file_names.blank?
19
18
 
20
- sync_pubsub_topics_and_subscriptions(workers: worker_file_names, worker_url: url)
19
+ sync_pubsub_topics_and_subscriptions(worker_file_names: worker_file_names, worker_url: url)
21
20
  SOULs::Painter.sync("All Jobs with PubSub Subscription!")
22
21
  end
23
22
 
24
23
  private
25
24
 
26
- def sync_pubsub_topics_and_subscriptions(worker_url:, workers: {})
25
+ def sync_pubsub_topics_and_subscriptions(worker_url:, worker_file_names: {})
27
26
  project_id = SOULs.configuration.project_id
28
27
  pubsub = Google::Cloud::Pubsub.new(project_id: project_id)
29
28
  topics = pubsub.topics
@@ -37,20 +36,31 @@ module SOULs
37
36
  souls_topics = topic_names.select { |n| n.include?("souls-#{worker_name}") }
38
37
 
39
38
  souls_topics.each do |name|
40
- value = workers[name.to_sym] || 0
41
- workers[name.to_sym] = value - 1
39
+ file_name = name.underscore
40
+ value = worker_file_names[file_name.to_sym] || 0
41
+ worker_file_names[file_name.to_sym] = value - 1
42
42
  end
43
+ puts(worker_file_names)
43
44
 
44
- workers.each do |key, value|
45
- topic_id = key.to_s.gsub("_", "-")
46
- if value == 1
47
- create_topic(topic_id: topic_id)
48
- create_push_subscription(worker_url: worker_url, topic_id: topic_id)
45
+ if worker_file_names.blank?
46
+ return if souls_topics.blank?
47
+
48
+ souls_topics.each do |topic_id|
49
+ delete_topic(topic_id: topic_id)
50
+ delete_subscription(topic_id: topic_id)
51
+ end
52
+ else
53
+ worker_file_names.each do |key, value|
54
+ topic_id = key.to_s.gsub("_", "-")
55
+ if value == 1
56
+ create_topic(topic_id: topic_id)
57
+ create_push_subscription(worker_url: worker_url, topic_id: topic_id)
58
+ end
59
+ delete_topic(topic_id: topic_id) if value == -1
60
+ delete_subscription(topic_id: topic_id) if value == -1
49
61
  end
50
- delete_topic(topic_id: topic_id) if value == -1
51
- delete_subscription(topic_id: topic_id) if value == -1
52
62
  end
53
- workers
63
+ worker_file_names
54
64
  end
55
65
 
56
66
  def create_topic(topic_id: "worker-mailer")
@@ -65,7 +75,7 @@ module SOULs
65
75
  pubsub = Google::Cloud::Pubsub.new(project_id: project_id)
66
76
  topic = pubsub.topic(topic_id.to_s)
67
77
  topic.delete
68
- SOULs::Painter.error("Topic #{topic_id} deleted.")
78
+ SOULs::Painter.warning("Topic #{topic_id} deleted.", "✨")
69
79
  end
70
80
 
71
81
  def delete_subscription(topic_id: "worker-mailer")
@@ -79,7 +89,7 @@ module SOULs
79
89
  def create_push_subscription(worker_url:, topic_id: "worker-mailer")
80
90
  souls_endpoint = SOULs.configuration.endpoint
81
91
  subscription_id = "#{topic_id}-sub"
82
- endpoint = "#{worker_url}/#{souls_endpoint}"
92
+ endpoint = "#{worker_url}#{souls_endpoint}"
83
93
 
84
94
  project_id = SOULs.configuration.project_id
85
95
  pubsub = Google::Cloud::Pubsub.new(project_id: project_id)
data/lib/souls/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module SOULs
2
- VERSION = "1.19.4".freeze
2
+ VERSION = "1.19.8".freeze
3
3
  public_constant :VERSION
4
4
  end
@@ -1 +1 @@
1
- 1.19.4
1
+ 1.19.8
@@ -1 +1 @@
1
- 1.19.4
1
+ 1.19.8
data/lib/souls.rb CHANGED
@@ -9,6 +9,7 @@ require "whirly"
9
9
  require "tty-prompt"
10
10
  require "thor"
11
11
  require "resolv"
12
+ require "google/cloud/pubsub"
12
13
 
13
14
  module SOULs
14
15
  extend SOULs::Utils
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.19.4
4
+ version: 1.19.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - POPPIN-FUMI
@@ -124,6 +124,20 @@ dependencies:
124
124
  - - ">="
125
125
  - !ruby/object:Gem::Version
126
126
  version: 0.3.0
127
+ - !ruby/object:Gem::Dependency
128
+ name: httpclient
129
+ requirement: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - ">="
132
+ - !ruby/object:Gem::Version
133
+ version: 2.8.3
134
+ type: :runtime
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ requirements:
138
+ - - ">="
139
+ - !ruby/object:Gem::Version
140
+ version: 2.8.3
127
141
  - !ruby/object:Gem::Dependency
128
142
  name: thor
129
143
  requirement: !ruby/object:Gem::Requirement