Class: Zypper::Upgraderepo::Repository

Inherits:
Object
  • Object
show all
Defined in:
lib/zypper/upgraderepo/repository.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(filename) ⇒ Repository

Returns a new instance of Repository.



154
155
156
157
158
159
160
161
# File 'lib/zypper/upgraderepo/repository.rb', line 154

def initialize(filename)
  @filename = filename
  @repo = IniParse.parse(File.read(filename))
  @key = get_key
  @old_url = nil
  @old_name = nil
  @old_alias = nil
end

Instance Attribute Details

#filenameObject (readonly)

Returns the value of attribute filename.



152
153
154
# File 'lib/zypper/upgraderepo/repository.rb', line 152

def filename
  @filename
end

#old_aliasObject (readonly)

Returns the value of attribute old_alias.



152
153
154
# File 'lib/zypper/upgraderepo/repository.rb', line 152

def old_alias
  @old_alias
end

#old_nameObject (readonly)

Returns the value of attribute old_name.



152
153
154
# File 'lib/zypper/upgraderepo/repository.rb', line 152

def old_name
  @old_name
end

#old_urlObject (readonly)

Returns the value of attribute old_url.



152
153
154
# File 'lib/zypper/upgraderepo/repository.rb', line 152

def old_url
  @old_url
end

Instance Method Details

#aliasObject



207
208
209
# File 'lib/zypper/upgraderepo/repository.rb', line 207

def alias
  @key
end

#alias=(value) ⇒ Object



211
212
213
214
# File 'lib/zypper/upgraderepo/repository.rb', line 211

def alias=(value)
  @repo = IniParse.parse(@repo.to_ini.sub(/\[[^\]]+\]/, "[#{value}]"))
  @key = get_key
end

#enable!(value = true) ⇒ Object



167
168
169
# File 'lib/zypper/upgraderepo/repository.rb', line 167

def enable!(value = true)
  @repo[@key]['enabled'] = (value.to_s =~ /true|1|yes/i) ? 1 : 0
end

#enabled?Boolean

Returns:

  • (Boolean)


163
164
165
# File 'lib/zypper/upgraderepo/repository.rb', line 163

def enabled?
  @repo[@key]['enabled'].to_i == 1
end

#nameObject



175
176
177
# File 'lib/zypper/upgraderepo/repository.rb', line 175

def name
  @repo[@key]['name'] || @key
end

#name=(value) ⇒ Object



179
180
181
# File 'lib/zypper/upgraderepo/repository.rb', line 179

def name=(value)
  @repo[@key]['name'] = value
end

#priorityObject



183
184
185
# File 'lib/zypper/upgraderepo/repository.rb', line 183

def priority
  @repo[@key]['priority'] || 99
end

#protocolObject



195
196
197
# File 'lib/zypper/upgraderepo/repository.rb', line 195

def protocol
  URI(url.to_s).scheme
end

#saveObject



235
236
237
238
239
240
# File 'lib/zypper/upgraderepo/repository.rb', line 235

def save
  raise InvalidWritePermissions, @filename unless File.writable? @filename
  process, pid = libzypp_process
  raise SystemUpdateRunning, { pid: pid, process: process } if pid
  @repo.save(@filename)
end

#typeObject



171
172
173
# File 'lib/zypper/upgraderepo/repository.rb', line 171

def type
  @repo[@key]['type']
end

#unversioned?Boolean

Returns:

  • (Boolean)


199
200
201
# File 'lib/zypper/upgraderepo/repository.rb', line 199

def unversioned?
  (url =~ /\d\d\.\d/).nil?
end

#upgrade!(version, args = {}) ⇒ Object



216
217
218
219
220
221
222
223
224
225
226
227
228
229
# File 'lib/zypper/upgraderepo/repository.rb', line 216

def upgrade!(version, args = {})
  @old_url ||= self.url
  @old_alias ||= self.alias
  @old_name ||= self.name

  if args[:url_override]
    self.url = args[:url_override]
  else
    self.url = self.url.gsub(/\d\d\.\d/, version)
  end

  self.alias = self.alias.gsub(/\d\d\.\d/, version) if args[:alias]
  self.name = self.name.gsub(/\d\d\.\d/, version) if args[:name]
end

#upgraded?(item = :url) ⇒ Boolean

Returns:

  • (Boolean)


231
232
233
# File 'lib/zypper/upgraderepo/repository.rb', line 231

def upgraded?(item = :url)
  (!self.send("old_#{item}").nil?) && (self.send("old_#{item}") != self.send(item))
end

#urlObject



187
188
189
# File 'lib/zypper/upgraderepo/repository.rb', line 187

def url
  @repo[@key]['baseurl']
end

#url=(value) ⇒ Object



191
192
193
# File 'lib/zypper/upgraderepo/repository.rb', line 191

def url=(value)
  @repo[@key]['baseurl'] = value
end

#versioned?Boolean

Returns:

  • (Boolean)


203
204
205
# File 'lib/zypper/upgraderepo/repository.rb', line 203

def versioned?
  !unversioned?
end