swarm_cluster_cli_ope 0.3 → 0.3.1

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: 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