Class: Zypper::Upgraderepo::Repository
- Inherits:
-
Object
- Object
- Zypper::Upgraderepo::Repository
- Defined in:
- lib/zypper/upgraderepo/repository.rb
Instance Attribute Summary collapse
-
#filename ⇒ Object
readonly
Returns the value of attribute filename.
-
#old_alias ⇒ Object
readonly
Returns the value of attribute old_alias.
-
#old_name ⇒ Object
readonly
Returns the value of attribute old_name.
-
#old_url ⇒ Object
readonly
Returns the value of attribute old_url.
Instance Method Summary collapse
- #alias ⇒ Object
- #alias=(value) ⇒ Object
- #enable!(value = true) ⇒ Object
- #enabled? ⇒ Boolean
-
#initialize(filename) ⇒ Repository
constructor
A new instance of Repository.
- #name ⇒ Object
- #name=(value) ⇒ Object
- #priority ⇒ Object
- #protocol ⇒ Object
- #save ⇒ Object
- #type ⇒ Object
- #unversioned? ⇒ Boolean
- #upgrade!(version, args = {}) ⇒ Object
- #upgraded?(item = :url) ⇒ Boolean
- #url ⇒ Object
- #url=(value) ⇒ Object
- #versioned? ⇒ Boolean
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
#filename ⇒ Object (readonly)
Returns the value of attribute filename.
152 153 154 |
# File 'lib/zypper/upgraderepo/repository.rb', line 152 def filename @filename end |
#old_alias ⇒ Object (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_name ⇒ Object (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_url ⇒ Object (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
#alias ⇒ Object
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
163 164 165 |
# File 'lib/zypper/upgraderepo/repository.rb', line 163 def enabled? @repo[@key]['enabled'].to_i == 1 end |
#name ⇒ Object
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 |
#priority ⇒ Object
183 184 185 |
# File 'lib/zypper/upgraderepo/repository.rb', line 183 def priority @repo[@key]['priority'] || 99 end |
#protocol ⇒ Object
195 196 197 |
# File 'lib/zypper/upgraderepo/repository.rb', line 195 def protocol URI(url.to_s).scheme end |
#save ⇒ Object
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 |
#type ⇒ Object
171 172 173 |
# File 'lib/zypper/upgraderepo/repository.rb', line 171 def type @repo[@key]['type'] end |
#unversioned? ⇒ 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
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 |
#url ⇒ Object
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
203 204 205 |
# File 'lib/zypper/upgraderepo/repository.rb', line 203 def versioned? !unversioned? end |