Skip to content

Commit 9886649

Browse files
committed
refactor: 🎨 refactoring
1 parent 31d47ce commit 9886649

File tree

6 files changed

+157
-161
lines changed

6 files changed

+157
-161
lines changed

fog-proxmox.gemspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ Gem::Specification.new do |spec|
4040
spec.rubygems_version = '~> 2.6'
4141

4242
spec.add_development_dependency 'bundler', '~> 2.1'
43+
spec.add_development_dependency 'bundler-audit', '~> 0.6'
4344
spec.add_development_dependency 'debase', '~> 0.2.2'
4445
spec.add_development_dependency 'debride', '~> 1.8'
4546
spec.add_development_dependency 'fasterer', '~> 0.3'
@@ -55,7 +56,6 @@ Gem::Specification.new do |spec|
5556
spec.add_development_dependency 'simplecov', '0.17'
5657
spec.add_development_dependency 'vcr', '~> 4.0'
5758
spec.add_development_dependency 'webmock', '~> 3.5'
58-
spec.add_development_dependency 'bundler-audit', '~> 0.6'
5959

6060
spec.add_dependency 'fog-core', '~> 2.1'
6161
spec.add_dependency 'fog-json', '~> 1.2'

lib/fog/proxmox/compute/models/server.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ def list(content)
228228
volumes
229229
end
230230

231-
protected
231+
protected
232232

233233
def initialize_config(new_attributes = {})
234234
options = { service: service, vmid: vmid }
@@ -247,7 +247,7 @@ def initialize_tasks
247247

248248
def node
249249
Fog::Proxmox::Compute::Node.new(service: service, node: node_id)
250-
end
250+
end
251251
end
252252
end
253253
end

lib/fog/proxmox/hash.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,13 @@ module Proxmox
2323
module Hash
2424

2525
def self.stringify(hash)
26-
filtered = hash.reject { |_key,value| value.to_s.empty? }
26+
filtered = hash.reject { |_key, value| value.nil? }
2727
a = filtered.to_a.collect { |item| item.join('=') }
2828
a.join(',')
2929
end
3030

3131
def self.flatten(hash)
32-
filtered = hash.reject { |_key,value| value.to_s.empty? }
32+
filtered = hash.reject { |_key, value| value.nil? }
3333
a = filtered.to_a.collect { |item| item.join(': ') }
3434
a.join(',')
3535
end

lib/fog/proxmox/helpers/disk_helper.rb

Lines changed: 22 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,12 @@ def self.flatten(disk)
4444
value += 'none'
4545
end
4646
opts = disk[:options] if disk[:options]
47-
main_a = [:id,:volid,:storage,:size]
48-
opts = disk.reject { |key,_value| main_a.include? key } unless opts
47+
main_a = [:id, :volid, :storage, :size]
48+
opts ||= disk.reject { |key, _value| main_a.include? key }
4949
options = ''
5050
options += Fog::Proxmox::Hash.stringify(opts) if opts
51-
if id == 'ide2' && !self.cdrom?(options)
52-
options += ',' if !options.empty?
51+
if id == 'ide2' && !cdrom?(options)
52+
options += ',' unless options.empty?
5353
options += 'media=cdrom'
5454
end
5555
value += ',' if !options.empty? && !value.empty?
@@ -69,27 +69,26 @@ def self.extract(id)
6969
id.scan(/(\w+)(\d+)/).first
7070
end
7171

72-
# Convert API Proxmox parameter string into attribute hash value
72+
# Convert API Proxmox parameter string into attribute hash value
7373
def self.extract_option(name, disk_value)
7474
values = disk_value.scan(/#{name}=(\w+)/)
7575
name_value = values.first if values
7676
name_value&.first
7777
end
7878

79-
# Convert API Proxmox volume/disk parameter string into volume/disk attributes hash value
79+
# Convert API Proxmox volume/disk parameter string into volume/disk attributes hash value
8080
def self.extract_storage_volid_size(disk_value)
81-
#volid definition: <VOLUME_ID>:=<STORAGE_ID>:<storage type dependent volume name>
81+
# volid definition: <VOLUME_ID>:=<STORAGE_ID>:<storage type dependent volume name>
8282
values_a = disk_value.scan(/^(([\w-]+)[:]{0,1}([\w\/\.-]+))/)
8383
no_cdrom = !disk_value.match(CDROM_REGEXP)
8484
creation = disk_value.split(',')[0].match(/^(([\w-]+)[:]{1}([\d]+))$/)
8585
values = values_a.first if values_a
8686
if no_cdrom
87+
storage = values[1]
8788
if creation
88-
storage = values[1]
8989
volid = nil
9090
size = values[2].to_i
9191
else
92-
storage = values[1]
9392
volid = values[0]
9493
size = extract_size(disk_value)
9594
end
@@ -102,37 +101,37 @@ def self.extract_storage_volid_size(disk_value)
102101
end
103102

104103
def self.to_bytes(size)
105-
val=size.match(/\d+(\w?)/)
106-
m=0
107-
case val[1]
108-
when "K" then m=1
109-
when "M" then m=2
110-
when "G" then m=3
111-
when "T" then m=4
112-
when "P" then m=5
104+
val = size.match(/\d+(\w?)/)
105+
m = 0
106+
case val[1]
107+
when "K" then m = 1
108+
when "M" then m = 2
109+
when "G" then m = 3
110+
when "T" then m = 4
111+
when "P" then m = 5
113112
end
114-
val[0].to_i*1024**m
113+
val[0].to_i * 1024**m
115114
end
116115

117116
def self.modulo_bytes(size)
118117
size / 1024
119118
end
120119

121120
def self.to_human_bytes(size)
122-
units = ['Kb','Mb','Gb','Tb','Pb']
121+
units = ['Kb', 'Mb', 'Gb', 'Tb', 'Pb']
123122
i = 0
124123
human_size = size.to_s + 'b'
125124
while i < 5 && size >= 1024
126-
size = self.modulo_bytes(size)
125+
size = modulo_bytes(size)
127126
human_size = size.to_s + units[i]
128-
i+=1
127+
i += 1
129128
end
130129
human_size
131130
end
132131

133132
def self.extract_size(disk_value)
134-
size=extract_option('size', disk_value)
135-
size ? self.to_bytes(size) : "1G"
133+
size = extract_option('size', disk_value)
134+
size ? to_bytes(size) : "1G"
136135
end
137136

138137
def self.disk?(id)

lib/fog/proxmox/helpers/nic_helper.rb

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ module Fog
2323
module Proxmox
2424
# module NicHelper mixins
2525
module NicHelper
26-
2726
NICS_REGEXP = /^(net)(\d+)/
2827

2928
def self.extract_mac_address(nic_value)
@@ -47,24 +46,24 @@ def self.nic_update_regexp
4746
end
4847

4948
def self.has_model?(nic_value)
50-
nic_value.match?(self.model_regexp)
49+
nic_value.match?(model_regexp)
5150
end
5251

5352
def self.has_name?(nic_value)
54-
nic_value.match?(self.name_regexp)
53+
nic_value.match?(name_regexp)
5554
end
5655

5756
def self.has_ip?(nic_value)
58-
nic_value.match?(self.ip_regexp)
57+
nic_value.match?(ip_regexp)
5958
end
6059

6160
def self.extract_nic_id(nic_value)
62-
if self.has_model?(nic_value)
63-
nic_value.scan(self.model_regexp).first.first
64-
elsif self.has_name?(nic_value)
65-
nic_value.scan(self.name_regexp).first.first
61+
if has_model?(nic_value)
62+
nic_value.scan(model_regexp).first.first
63+
elsif has_name?(nic_value)
64+
nic_value.scan(name_regexp).first.first
6665
else
67-
nic_value.scan(self.nic_update_regexp).first.first
66+
nic_value.scan(nic_update_regexp).first.first
6867
end
6968
end
7069

@@ -88,7 +87,7 @@ def self.set_mac(nic_id, nic_hash)
8887
mac_keys = [:macaddr, :hwaddr]
8988
nic_value = ''
9089
if (nic_hash.keys & mac_keys).empty?
91-
nic_value = self.nic_name(nic_hash) + "=" + nic_id
90+
nic_value = nic_name(nic_hash) + "=" + nic_id
9291
else
9392
mac_value = nic_hash[mac_keys[0]] if nic_hash.key?(mac_keys[0])
9493
mac_value ||= nic_hash[mac_keys[1]] if nic_hash.key?(mac_keys[1])
@@ -97,26 +96,25 @@ def self.set_mac(nic_id, nic_hash)
9796
nic_value
9897
end
9998

100-
# Convert nic attributes hash into API Proxmox parameters string
99+
# Convert nic attributes hash into API Proxmox parameters string
101100
def self.flatten(nic_hash)
102-
nic_id = nic_hash[self.nic_name(nic_hash).to_sym]
103-
nic_value = self.set_mac(nic_id, nic_hash)
104-
options = nic_hash.reject { |key, _value| [self.nic_name(nic_hash).to_sym,:id,:macaddr,:hwaddr].include? key.to_sym }
105-
nic_value += ',' unless options.empty?
106-
nic_value += Fog::Proxmox::Hash.stringify(options) unless options.empty?
101+
nic_id = nic_hash[nic_name(nic_hash).to_sym]
102+
nic_value = set_mac(nic_id, nic_hash)
103+
options = nic_hash.reject { |key, _value| [nic_name(nic_hash).to_sym, :id, :macaddr, :hwaddr].include? key.to_sym }
104+
nic_value += ',' + Fog::Proxmox::Hash.stringify(options) unless options.empty?
107105
{ "#{nic_hash[:id]}": nic_value }
108106
end
109107

110-
def self.collect_nics(attributes)
108+
def self.collect_nics(attributes)
111109
attributes.select { |key| nic?(key.to_s) }
112110
end
113-
111+
114112
def self.nic?(id)
115113
NICS_REGEXP.match(id) ? true : false
116114
end
117115

118116
def self.extract_ip(nic_value)
119-
if ip = self.ip_regexp.match(nic_value)
117+
ip_regexp.match(nic_value) do |ip|
120118
ip[2]
121119
end
122120
end

0 commit comments

Comments
 (0)