firespring_dev_commands 1.5.2 → 1.5.3.pre.alpha.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: 5a83daa9c15548e199bf57ec8cfed9db0ed5d5d0e9ee976eebbbe23b9dd5db9b
4
- data.tar.gz: 4ac6c93ae0b63b8a96dfda76983b6dee876b09c2cf38d4a07a612ad81954f841
3
+ metadata.gz: f703243393c3aeb663185817f26c14f1fd4eda7cdb671f5e8c0ee0d5ea2168b2
4
+ data.tar.gz: a0d3b4685a4890ee5be25c917031430c46a09cf972ccd127439691871b471a8a
5
5
  SHA512:
6
- metadata.gz: 318a99c838156a2ab894ff0ab36c48d4a8f23abc6aa8a0d226916ed9cb189a56dd5d76d07d3efe5b38d569e4c09bae6cd1a9d08566c6068d6280bb94c8b3f19f
7
- data.tar.gz: e99947b292755ec515504c42a4df4bfc8193c84455433073f4074c1ff25e10258cd03f6f8dec11c3f856c48e373a2c1b83cf2917e55b8231f4414abe6eb3677a
6
+ metadata.gz: 7ae4a74026fc432fb85eb442db2200a8ba066c85a84b64758b889e3cea0f13402fc4a00d68d7a4df7a95498dba195cb411d252c3893447b3af7f8878b47efa6b
7
+ data.tar.gz: 45e922ae773aafb01b318e006936780e3239ff345e7d32d515e9b6f47cfa05dccb6fedd89745ce71c0b7bc48c7fb1909c647d6c09b23327cf442d44b471d1c09
@@ -8,8 +8,9 @@ module Dev
8
8
  # Class containing methods for interfacing with the docker compose cli
9
9
  class Compose
10
10
  # Config object for setting top level docker compose config options
11
- Config = Struct.new(:project_dir, :project_name, :compose_files, :min_version, :max_version) do
11
+ Config = Struct.new(:executable_name, :project_dir, :project_name, :compose_files, :min_version, :max_version) do
12
12
  def initialize
13
+ self.executable_name = EXECUTABLE_NAME
13
14
  self.project_dir = DEV_COMMANDS_ROOT_DIR
14
15
  self.project_name = DEV_COMMANDS_PROJECT_NAME
15
16
  self.compose_files = ["#{DEV_COMMANDS_ROOT_DIR}/docker-compose.yml"]
@@ -69,12 +70,12 @@ module Dev
69
70
  # Checks the min and max version against the current docker version if they have been configured
70
71
  def check_version
71
72
  min_version = self.class.config.min_version
72
- raise "requires #{EXECUTABLE_NAME} version >= #{min_version} (found #{self.class.version})" if min_version &&
73
- !Dev::Common.new.version_greater_than(min_version, self.class.version)
73
+ version_too_low = min_version && !Dev::Common.new.version_greater_than(min_version, self.class.version)
74
+ raise "requires #{self.class.config.executable_name} version >= #{min_version} (found #{self.class.version})" if version_too_low
74
75
 
75
76
  max_version = self.class.config.max_version
76
- raise "requires #{EXECUTABLE_NAME} version < #{max_version} (found #{self.class.version})" if max_version &&
77
- Dev::Common.new.version_greater_than(max_version, self.class.version)
77
+ version_too_high = max_version && Dev::Common.new.version_greater_than(max_version, self.class.version)
78
+ raise "requires #{self.class.config.executable_name} version < #{max_version} (found #{self.class.version})" if version_too_high
78
79
  end
79
80
 
80
81
  # Pull in supported env settings and call build
@@ -83,6 +84,7 @@ module Dev
83
84
  def build
84
85
  merge_options('--parallel')
85
86
  merge_env_pull_option
87
+ merge_env_push_option
86
88
  merge_env_cache_option
87
89
  execute_command(build_command('build'))
88
90
  end
@@ -181,6 +183,13 @@ module Dev
181
183
  merge_options('--pull') if ENV['PULL'].to_s.strip == 'true'
182
184
  end
183
185
 
186
+ # Merge --push option if PUSH is set to true and no existing push options are present
187
+ private def merge_env_push_option
188
+ return if @options.any? { |it| it.include?('push') }
189
+
190
+ merge_options('--push') if ENV['PUSH'].to_s.strip == 'true'
191
+ end
192
+
184
193
  # Merge --no-build option unless BUILD is set to true and no existing build options are present
185
194
  private def merge_env_build_option
186
195
  return if @options.any? { |it| it.include?('build') }
@@ -230,7 +239,7 @@ module Dev
230
239
 
231
240
  # Build the compose command with the given inputs
232
241
  private def build_command(action, *cmd)
233
- command = [EXECUTABLE_NAME]
242
+ command = self.class.config.executable_name.split(/\s+/)
234
243
  command << '--project-directory' << project_dir
235
244
  command << '-p' << project_name if project_name
236
245
  Array(compose_files).compact.each { |file| command << '-f' << file }
@@ -6,6 +6,6 @@ module Dev
6
6
  # Use 'v.v.v.pre.alpha.v' for pre-release vesions
7
7
  # Use 'v.v.v.beta.v for beta versions
8
8
  # Use semantic versioning for any releases (https://semver.org/)
9
- VERSION = '1.5.2'.freeze
9
+ VERSION = '1.5.3.pre.alpha.1'.freeze
10
10
  end
11
11
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: firespring_dev_commands
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.2
4
+ version: 1.5.3.pre.alpha.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Firespring
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-29 00:00:00.000000000 Z
11
+ date: 2023-07-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -453,9 +453,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
453
453
  version: '2.7'
454
454
  required_rubygems_version: !ruby/object:Gem::Requirement
455
455
  requirements:
456
- - - ">="
456
+ - - ">"
457
457
  - !ruby/object:Gem::Version
458
- version: '0'
458
+ version: 1.3.1
459
459
  requirements: []
460
460
  rubygems_version: 3.1.6
461
461
  signing_key: