uff_db_loader 4.0.0 → 4.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '060096b6203e8ec9ad703842bd1a0c8e54a8ac83bb242316b9d4e1943f3ac293'
4
- data.tar.gz: 9957904bdfdd43ad6562d96e7d5cbb6b5fdc4e1c610687fcb11aff706707d051
3
+ metadata.gz: 35997f212e0fe2b696781f3092c23fdaa6e11c0158c0053c8250422d553dcf3d
4
+ data.tar.gz: f4442306686b14c31606c740c9b83692825ca28cd7cf1564e35cc5b2aa746c53
5
5
  SHA512:
6
- metadata.gz: dc35bb6b7d806afdd007acbc131651fa232d904fdc8ff51f2253fd4d9e45002e37ab01d93e0aa8823b25d2e386a1c7ba65ce25ad9170a0f4e35b10abf67079b7
7
- data.tar.gz: fb6f49b13663d44312fc38ba118b7b140c38ed7ab2bb99f38dc37619e500aee1ad1137b332f0a5460f5346791d66a1885153385edc72819175419df6146b0c8d
6
+ metadata.gz: dac31add2ebbb9beb4d5734aeb7e4c3a249d2eefcbecf6a547a664b83670bab9a39069bb4d87385aeebaeb8f59cf9511321655cf3104407182b9ff0d84a3de4d
7
+ data.tar.gz: 6298da746d92328491e89ff84983cb39c2bc6a32c309fa4cda6915d210e9a3d30851ade48101741d6a6279fcf87a73f32d971050804bb22f26153ac21d07e671
data/README.md CHANGED
@@ -31,9 +31,9 @@ You can configure the gem by running the following during the initialization of
31
31
  ```ruby
32
32
  UffDbLoader.configure do |config|
33
33
  config.environments = ['staging', 'production']
34
- config.ssh_user = 'Francina'
35
- config.ssh_host = 'host.of.yoursite'
36
- config.db_name = 'twotter'
34
+ config.ssh_user = ->(_app_name, environment) { environment == 'production' ? 'Francina' : 'FrancinaStaging' } # It accepts a static string too.
35
+ config.ssh_host = ->(_app_name, environment) { "#{environment}.host.of.yoursite" } # It accepts a static string too.
36
+ config.db_name = ->(app_name, environment) { "#{app_name}_#{environment}" } # Defaults to ssh_user. It accepts a static string too.
37
37
  config.db_system = :postgresql # Possible values are 'postgresql' and 'mysql'.
38
38
  config.app_name = 'my_app' # Defaults to the Rails app name
39
39
  config.dumps_directory = '/path/to/dumps' # Defaults to Rails.root.join('dumps')
data/lib/configuration.rb CHANGED
@@ -33,10 +33,6 @@ module UffDbLoader
33
33
  @restore_command_template = nil
34
34
  end
35
35
 
36
- def database
37
- db_name || ssh_user
38
- end
39
-
40
36
  def database_system
41
37
  case db_system.to_sym
42
38
  when :postgresql
@@ -14,6 +14,9 @@ if defined?(UffDbLoader)
14
14
  # config.app_name = 'my_app' # Defaults to the Rails app name
15
15
  # config.dumps_directory = '/path/to/dumps' # Defaults to Rails.root.join('dumps')
16
16
  # config.database_config_file = 'path/to/database.yml' # Defaults to Rails.root.join('config', 'database.yml')
17
+ # config.db_name = ->(app_name, environment) { "#{app_name}_#{environment}" } # Defaults to ssh_user. It accepts a static string too.
18
+ # config.ssh_user = ->(_app_name, environment) { "my-user-for-#{environment}" } # It accepts a static string too.
19
+ # config.ssh_host = ->(_app_name, environment) { "#{environment}.host.of.yoursite" } # It accepts a static string too.
17
20
  # config.container_name = ->(app_name, environment) { "#{app_name}_#{environment}_custom_suffix" } # Defaults to "#{app_name}_#{environment}_db". It accepts a static string too.
18
21
  # config.local_restore_command_path = '' # Sets the path to the db-cli (pg_restore, mysql). Defaults to nil so it's using the default binary (mysql, pg_dump) in $PATH.
19
22
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module UffDbLoader
4
- VERSION = "4.0.0"
4
+ VERSION = "4.1.0"
5
5
  end
data/lib/uff_db_loader.rb CHANGED
@@ -145,9 +145,29 @@ module UffDbLoader
145
145
 
146
146
  def container_name(environment)
147
147
  return "#{config.app_name}_#{environment}_db" if config.container_name.blank?
148
- return config.container_name unless config.container_name.respond_to? :call
149
148
 
150
- config.container_name.call(config.app_name, environment)
149
+ resolve_dynamic_setting(config.container_name, environment)
150
+ end
151
+
152
+ def ssh_user(environment)
153
+ resolve_dynamic_setting(config.ssh_user, environment)
154
+ end
155
+
156
+ def ssh_host(environment)
157
+ resolve_dynamic_setting(config.ssh_host, environment)
158
+ end
159
+
160
+ def database_name(environment)
161
+ database_name = resolve_dynamic_setting(config.db_name, environment)
162
+ return database_name if database_name.present?
163
+
164
+ ssh_user(environment)
165
+ end
166
+
167
+ def resolve_dynamic_setting(setting, environment)
168
+ return setting unless setting.respond_to? :call
169
+
170
+ setting.call(config.app_name, environment)
151
171
  end
152
172
 
153
173
  def initializer_template_path
@@ -169,9 +189,9 @@ module UffDbLoader
169
189
  config
170
190
  .database_system
171
191
  .dump_command_template
172
- .gsub("%host%", config.ssh_host)
173
- .gsub("%user%", config.ssh_user)
174
- .gsub("%database%", config.database)
192
+ .gsub("%host%", ssh_host(environment))
193
+ .gsub("%user%", ssh_user(environment))
194
+ .gsub("%database%", database_name(environment))
175
195
  .gsub("%target%", target)
176
196
  .gsub("%container_name%", container_name(environment))
177
197
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uff_db_loader
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0
4
+ version: 4.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andreas Hellwig
@@ -87,9 +87,9 @@ licenses:
87
87
  - MIT
88
88
  metadata:
89
89
  bug_tracker_uri: https://github.com/rmehner/uff_db_loader/issues
90
- changelog_uri: https://github.com/rmehner/uff_db_loader/releases/tag/4.0.0
90
+ changelog_uri: https://github.com/rmehner/uff_db_loader/releases/tag/4.1.0
91
91
  homepage_uri: https://github.com/rmehner/uff_db_loader
92
- source_code_uri: https://github.com/rmehner/uff_db_loader/tree/4.0.0
92
+ source_code_uri: https://github.com/rmehner/uff_db_loader/tree/4.1.0
93
93
  post_install_message: Please run `bin/rails uff_db_loader:install` to complete the
94
94
  installation.
95
95
  rdoc_options: []
@@ -106,7 +106,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
106
106
  - !ruby/object:Gem::Version
107
107
  version: '0'
108
108
  requirements: []
109
- rubygems_version: 3.6.9
109
+ rubygems_version: 4.0.6
110
110
  specification_version: 4
111
111
  summary: Allows to dump, download and restore databases from docker servers.
112
112
  test_files: []