uffizzi-cli 0.11.0 → 0.11.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: 6a77480fa0ba3272d145f85b529890db26cbe746a1c24e4ab06bdd5722440a97
4
- data.tar.gz: 81490020eded539424fc962df0513fab070948bf8ed11a4e4cb5e11eb9be48ea
3
+ metadata.gz: 692eb8af782d78cc92d06d6a0eda07e6d481019a81f44144791bf211ab6438c0
4
+ data.tar.gz: a0db18ffc332806c013647c0706294c3db9486b42777a8f622fea9ca46552062
5
5
  SHA512:
6
- metadata.gz: 1deeb99a694ad314a86980bbd2d320234f893824cad9c325077145e05d586bff507e2b881ccd1990926dc7bbf94c60babe8008ad58c06b4f8da82df66a89737b
7
- data.tar.gz: 3bbe1123c922b6117a1794e81fa93d4059581c15b5de3f8d15bc76b5ec52df43d4f0f86c662ef196bb98ce0b80a4434114533a23f51a7cdb95213204666ba1c1
6
+ metadata.gz: 97e7dd627b0edfbfb500003480dc0e30e3497f36c263f6ebb2e3a79dced658444432e13182a5b2d3149e41982543283190255118e4eeec393f6c01aaed4dc9d5
7
+ data.tar.gz: 942031954c139f313f20ae22f47b894131101e32f41b9b5a3001e35fde31b2f45b5b08a6e8791bf8584b8982234274c6295a71c9aa13fceb369495498810cdfb
@@ -15,7 +15,7 @@ module Uffizzi
15
15
  end
16
16
 
17
17
  def run
18
- Uffizzi.ui.say('Login to Uffizzi to view and manage your previews.')
18
+ Uffizzi.ui.say('Login to Uffizzi server.')
19
19
  server = set_server
20
20
 
21
21
  username = set_username
@@ -68,6 +68,8 @@ module Uffizzi
68
68
  ConfigFile.write_option(:cookie, response[:headers])
69
69
  ConfigFile.write_option(:account_id, account[:id])
70
70
 
71
+ Uffizzi.ui.say('Login successfull')
72
+
71
73
  default_project = ConfigFile.read_option(:project)
72
74
  return unless default_project
73
75
 
@@ -68,7 +68,7 @@ module Uffizzi
68
68
 
69
69
  def handle_succeed_logs_response(response, container_name)
70
70
  logs = response[:body][:logs] || []
71
- return Uffizzi.ui.say("The service #{container_name} has no logs") if logs.empty?
71
+ return Uffizzi.ui.say("The service '#{container_name}' has no logs") if logs.empty?
72
72
 
73
73
  logs.each do |log|
74
74
  Uffizzi.ui.say(log)
@@ -92,10 +92,9 @@ module Uffizzi
92
92
  end
93
93
 
94
94
  def write(data)
95
- file = create_file
96
95
  prepared_data = prepare_data(data)
97
- file.write(prepared_data)
98
- file.close
96
+
97
+ lock(config_path) { atomic_write(config_path, "#{config_path}.tmp", prepared_data) }
99
98
  end
100
99
 
101
100
  def prepare_data(data)
@@ -105,12 +104,18 @@ module Uffizzi
105
104
  end
106
105
  end
107
106
 
108
- def create_file
109
- dir = File.dirname(config_path)
107
+ def atomic_write(path, temp_path, content)
108
+ File.open(temp_path, 'w') { |f| f.write(content) }
109
+ FileUtils.mv(temp_path, path)
110
+ end
110
111
 
112
+ def lock(path)
113
+ dir = File.dirname(path)
111
114
  FileUtils.mkdir_p(dir) unless File.directory?(dir)
112
115
 
113
- File.new(config_path, 'w')
116
+ File.open(path).flock(File::LOCK_EX) if File.exist?(path)
117
+ yield
118
+ File.open(path).flock(File::LOCK_UN)
114
119
  end
115
120
  end
116
121
  end
@@ -42,14 +42,18 @@ module Uffizzi
42
42
  def prepare_errors(errors)
43
43
  errors.values.reduce('') do |acc, error_messages|
44
44
  if error_messages.is_a?(Array)
45
- error_messages.each { |error_message| acc = "#{acc}#{error_message}\n" }
45
+ error_messages.each { |error_message| acc = "#{acc}#{prepare_error_message(error_message)}\n" }
46
46
  else
47
- acc = "#{acc}#{error_messages}\n"
47
+ acc = "#{acc}#{prepare_error_message(error_message)}\n"
48
48
  end
49
49
 
50
50
  acc
51
51
  end
52
52
  end
53
+
54
+ def prepare_error_message(error_message)
55
+ error_message.split('::').last
56
+ end
53
57
  end
54
58
  end
55
59
  end
@@ -20,7 +20,7 @@ class PreviewService
20
20
  deployment_id = deployment[:id]
21
21
  params = { id: deployment_id }
22
22
 
23
- response = deploy_containers(Uffizzi::ConfigFile.read_option(:server), project_slug, deployment_id, params)
23
+ response = deploy_containers(server_url, project_slug, deployment_id, params)
24
24
 
25
25
  if !Uffizzi::ResponseHelper.no_content?(response)
26
26
  Uffizzi::ResponseHelper.handle_failed_response(response)
@@ -32,13 +32,17 @@ class PreviewService
32
32
 
33
33
  private
34
34
 
35
+ def server_url
36
+ @server_url ||= Uffizzi::ConfigFile.read_option(:server)
37
+ end
38
+
35
39
  def wait_containers_creation(deployment, project_slug)
36
40
  spinner = TTY::Spinner.new('[:spinner] Creating containers...', format: :dots)
37
41
  spinner.auto_spin
38
42
 
39
43
  activity_items = []
40
44
  loop do
41
- response = get_activity_items(Uffizzi::ConfigFile.read_option(:server), project_slug, deployment[:id])
45
+ response = get_activity_items(server_url, project_slug, deployment[:id])
42
46
  handle_activity_items_response(response, spinner)
43
47
  activity_items = response[:body][:activity_items]
44
48
  break if activity_items.count == deployment[:containers].count
@@ -62,7 +66,7 @@ class PreviewService
62
66
  containers_spinners = create_containers_spinners(activity_items, spinner)
63
67
 
64
68
  loop do
65
- response = get_activity_items(Uffizzi::ConfigFile.read_option(:server), project_slug, deployment[:id])
69
+ response = get_activity_items(server_url, project_slug, deployment[:id])
66
70
  handle_activity_items_response(response, spinner)
67
71
  activity_items = response[:body][:activity_items]
68
72
  update_containers_spinners!(activity_items, containers_spinners)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Uffizzi
4
- VERSION = '0.11.0'
4
+ VERSION = '0.11.1'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uffizzi-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.0
4
+ version: 0.11.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Thurman
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2022-06-15 00:00:00.000000000 Z
12
+ date: 2022-06-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: awesome_print