swarm_cluster_cli_ope 0.3 → 0.3.1

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: 064a57b8e710fbf99c41b7bc29f1db95fdef7d8e3d39e817159c060b044cf06e
4
- data.tar.gz: 7418cd71dd7e1fced025983fe6e3d08b141b1e0440216d36685036533c09cd52
3
+ metadata.gz: 3d344913376cd573bd0c65e8b1e13b21c22cea8da6765d5c96962bb8117a345b
4
+ data.tar.gz: aba83b091bb644491f7f2159c24ed5809d624713439037e368d874a7b702e2bf
5
5
  SHA512:
6
- metadata.gz: d97192caba2f7aa3c4572e54e8aa4800f7d7aaff178e0fbc51043386209dc617ac802b9cbcdfd67e16393948d60081684f153f367476e9ccffef426723356765
7
- data.tar.gz: e76e048acc106143d9f817ccc79a25fdacd6bfa7dc521a187013f2ef952a486d6e318b30d483611b545bfbef743d50facabc9eed8004f6ae9beed80dcd6449b0
6
+ metadata.gz: 22e815330c638aead770d742b875961892650e73b68abed0b8fd897448d038ebbe4065a417073e9e4ce5039edaa40824eb617a43fa4200974cdb0363505fd83b
7
+ data.tar.gz: 63c7bff02ab029faf11f533a008f53b813381c0915524a501464ac75e52a24b3b930900af05c08d358945ea5587de1811eb93cdd2752cbe4bd3e22b1f8548962
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- swarm_cluster_cli_ope (0.3)
4
+ swarm_cluster_cli_ope (0.3.1)
5
5
  activesupport
6
6
  open4
7
7
  thor (~> 1.0)
@@ -10,23 +10,23 @@ PATH
10
10
  GEM
11
11
  remote: https://rubygems.org/
12
12
  specs:
13
- activesupport (6.0.3)
13
+ activesupport (6.0.3.2)
14
14
  concurrent-ruby (~> 1.0, >= 1.0.2)
15
15
  i18n (>= 0.7, < 2)
16
16
  minitest (~> 5.1)
17
17
  tzinfo (~> 1.1)
18
18
  zeitwerk (~> 2.2, >= 2.2.2)
19
- concurrent-ruby (1.1.6)
20
- i18n (1.8.2)
19
+ concurrent-ruby (1.1.7)
20
+ i18n (1.8.5)
21
21
  concurrent-ruby (~> 1.0)
22
- minitest (5.14.0)
22
+ minitest (5.14.2)
23
23
  open4 (1.3.4)
24
24
  rake (12.3.3)
25
25
  thor (1.0.1)
26
26
  thread_safe (0.3.6)
27
27
  tzinfo (1.2.7)
28
28
  thread_safe (~> 0.1)
29
- zeitwerk (2.3.0)
29
+ zeitwerk (2.4.0)
30
30
 
31
31
  PLATFORMS
32
32
  ruby
data/README.md CHANGED
@@ -131,12 +131,12 @@ Possibili CFGS per tipologia:
131
131
  - service: "db" -> nome del servizio nel compose locale, DEFAULT: quello definito sopra
132
132
  - mysql_password_env: "MYSQL_PASSWORD" -> variabile ambiente interna al servizio contenente PASSWORD, DEFAULT: MYSQL_PASSWORD
133
133
  - mysql_user_env: "MYSQL_USER" -> variabile ambiente interna al servizio contenente USERNAME, DEFAULT: MYSQL_USER
134
- - database_name: "MYSQL_DATABASE" -> variabile ambiente interna al servizio contenente NOME DB, DEFAULT: MYSQL_DATABASE
134
+ - database_name_env: "MYSQL_DATABASE" -> variabile ambiente interna al servizio contenente NOME DB, DEFAULT: MYSQL_DATABASE
135
135
  - remote: -> hash di configurazioni per il DB remoto
136
136
  - service: "db" -> nome del servizio nel compose locale, DEFAULT: quello definito sopra
137
137
  - mysql_password_env: "MYSQL_PASSWORD" -> variabile ambiente interna al servizio contenente PASSWORD, DEFAULT: MYSQL_PASSWORD
138
138
  - mysql_user_env: "MYSQL_USER" -> variabile ambiente interna al servizio contenente USERNAME, DEFAULT: MYSQL_USER
139
- - database_name: "MYSQL_DATABASE" -> variabile ambiente interna al servizio contenente NOME DB, DEFAULT: MYSQL_DATABASE
139
+ - database_name_env: "MYSQL_DATABASE" -> variabile ambiente interna al servizio contenente NOME DB, DEFAULT: MYSQL_DATABASE
140
140
 
141
141
  #### EXAMPLE:
142
142
  Esempio di sincronizzazione di un file sqlite3 e una cartella
@@ -274,12 +274,12 @@ module SwarmClusterCliOpe
274
274
  "service": "db" -> nome del servizio nel compose locale, DEFAULT: quello definito sopra
275
275
  "mysql_password_env": "MYSQL_PASSWORD" -> variabile ambiente interna al servizio contenente PASSWORD, DEFAULT: MYSQL_PASSWORD
276
276
  "mysql_user_env": "MYSQL_USER" -> variabile ambiente interna al servizio contenente USERNAME, DEFAULT: MYSQL_USER
277
- "database_name": "MYSQL_DATABASE" -> variabile ambiente interna al servizio contenente NOME DB, DEFAULT: MYSQL_DATABASE
277
+ "database_name_env": "MYSQL_DATABASE" -> variabile ambiente interna al servizio contenente NOME DB, DEFAULT: MYSQL_DATABASE
278
278
  -- remote: -> hash di configurazioni per il DB remoto
279
279
  "service": "db" -> nome del servizio nel compose locale, DEFAULT: quello definito sopra
280
280
  "mysql_password_env": "MYSQL_PASSWORD" -> variabile ambiente interna al servizio contenente PASSWORD, DEFAULT: MYSQL_PASSWORD
281
281
  "mysql_user_env": "MYSQL_USER" -> variabile ambiente interna al servizio contenente USERNAME, DEFAULT: MYSQL_USER
282
- "database_name": "MYSQL_DATABASE" -> variabile ambiente interna al servizio contenente NOME DB, DEFAULT: MYSQL_DATABASE
282
+ "database_name_env": "MYSQL_DATABASE" -> variabile ambiente interna al servizio contenente NOME DB, DEFAULT: MYSQL_DATABASE
283
283
 
284
284
 
285
285
  EXAMPLE:
@@ -317,11 +317,16 @@ module SwarmClusterCliOpe
317
317
  raise "ONLY [push|pull] action accepted"
318
318
  end
319
319
  cfgs.env(options[:environment]) do |cfgs|
320
- cfgs.sync_configurations.each do |sync|
321
- say "----------->>>>>>"
322
- say "[ #{sync.class.name} ]"
323
- sync.send(direction)
324
- say "<<<<<<-----------"
320
+ sync_cfgs = cfgs.sync_configurations
321
+ if sync_cfgs.empty?
322
+ say "Attenzione, configurazioni di sincronizzazione vuoto. Leggere la documentazione"
323
+ else
324
+ sync_cfgs.each do |sync|
325
+ say "----------->>>>>>"
326
+ say "[ #{sync.class.name} ]"
327
+ sync.send(direction)
328
+ say "<<<<<<-----------"
329
+ end
325
330
  end
326
331
  end
327
332
  end
@@ -174,8 +174,11 @@ module SwarmClusterCliOpe
174
174
 
175
175
  ##
176
176
  # Elenco di tutte le configurazioni di sincronizzazione
177
+ # @return [Array]
177
178
  def sync_configurations
178
- merged_configurations[:sync_configs].collect do |c|
179
+ cfgs = merged_configurations[:sync_configs]
180
+ return [] if cfgs.nil? or !cfgs.is_a?(Array)
181
+ cfgs.collect do |c|
179
182
 
180
183
  case c[:how]
181
184
  when 'sqlite3'
@@ -27,13 +27,28 @@ module SwarmClusterCliOpe
27
27
  end
28
28
 
29
29
 
30
- def self.define_cfgs(name, default: nil, configuration_name: nil)
30
+ ##
31
+ # Costruisce i metodi che restituiscono i valori delle configurazioni
32
+ #
33
+ # @param [String,Symbol] name -> nome della stringa con cui viene generato il metodo
34
+ # @param [String,Symbol] default_env -> nome env default nel caso non sia passato
35
+ # @param [String,Symbol] configuration_name -> nome della configurazione da utilizzare per estrapolare la configurazione
36
+ # in automatico viene tenuto conto se cercare per la versione
37
+ # con _env o senza....precedenza SENZA
38
+ def self.define_cfgs(name, default_env:, configuration_name:)
31
39
  configuration_name ||= name
32
40
 
33
41
  define_method(name) do
34
42
  return self.instance_variable_get("@#{name}") if self.instance_variable_defined?("@#{name}")
35
- env_var = @configs[configuration_name.to_sym] || default
36
- self.instance_variable_set("@#{name}", find_env_file_variable(env_var))
43
+
44
+ #valore restituito direttamente dalla configurazione
45
+ if @configs.key?(configuration_name)
46
+ value = @configs["#{configuration_name}".to_sym]
47
+ else
48
+ env_var = @configs["#{configuration_name}_env".to_sym] || default_env
49
+ value = find_env_file_variable(env_var)
50
+ end
51
+ self.instance_variable_set("@#{name}", value)
37
52
  end
38
53
 
39
54
  end
@@ -41,9 +41,9 @@ module SwarmClusterCliOpe
41
41
  # Classe interna che rappresenta le configurazioni del DB
42
42
  class EnvConfigs < SwarmClusterCliOpe::SyncConfigs::EnvConfigs
43
43
 
44
- define_cfgs :database_name, default: "MYSQL_DATABASE"
45
- define_cfgs :mysql_user, default: "MYSQL_USER", configuration_name: :mysql_user_env
46
- define_cfgs :mysql_password, default: "MYSQL_PASSWORD", configuration_name: :mysql_password_env
44
+ define_cfgs :database_name, default_env: "MYSQL_DATABASE", configuration_name: :database_name
45
+ define_cfgs :mysql_user, default_env: "MYSQL_USER", configuration_name: :mysql_user
46
+ define_cfgs :mysql_password, default_env: "MYSQL_PASSWORD", configuration_name: :mysql_password
47
47
 
48
48
  end
49
49
 
@@ -1,3 +1,3 @@
1
1
  module SwarmClusterCliOpe
2
- VERSION = "0.3"
2
+ VERSION = "0.3.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: swarm_cluster_cli_ope
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.3'
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marino Bonetti