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.



49
50
51
52
53
54
55
56
# File 'lib/zypper/upgraderepo/repository.rb', line 49

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.



47
48
49
# File 'lib/zypper/upgraderepo/repository.rb', line 47

def filename
  @filename
end

#old_aliasObject (readonly)

Returns the value of attribute old_alias.



47
48
49
# File 'lib/zypper/upgraderepo/repository.rb', line 47

def old_alias
  @old_alias
end

#old_nameObject (readonly)

Returns the value of attribute old_name.



47
48
49
# File 'lib/zypper/upgraderepo/repository.rb', line 47

def old_name
  @old_name
end

#old_urlObject (readonly)

Returns the value of attribute old_url.



47
48
49
# File 'lib/zypper/upgraderepo/repository.rb', line 47

def old_url
  @old_url
end

Instance Method Details

#aliasObject



86
87
88
# File 'lib/zypper/upgraderepo/repository.rb', line 86

def alias
  @key
end

#alias=(value) ⇒ Object



90
91
92
93
# File 'lib/zypper/upgraderepo/repository.rb', line 90

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

#enabled?Boolean

Returns:

  • (Boolean)


58
59
60
# File 'lib/zypper/upgraderepo/repository.rb', line 58

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

#nameObject



66
67
68
# File 'lib/zypper/upgraderepo/repository.rb', line 66

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

#name=(value) ⇒ Object



70
71
72
# File 'lib/zypper/upgraderepo/repository.rb', line 70

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

#priorityObject



74
75
76
# File 'lib/zypper/upgraderepo/repository.rb', line 74

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

#saveObject

Raises:



114
115
116
117
# File 'lib/zypper/upgraderepo/repository.rb', line 114

def save
  raise InvalidPermissions, @filename unless File.writable? @filename
  @repo.save(@filename)
end

#typeObject



62
63
64
# File 'lib/zypper/upgraderepo/repository.rb', line 62

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

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



95
96
97
98
99
100
101
102
103
104
105
106
107
108
# File 'lib/zypper/upgraderepo/repository.rb', line 95

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)


110
111
112
# File 'lib/zypper/upgraderepo/repository.rb', line 110

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

#urlObject



78
79
80
# File 'lib/zypper/upgraderepo/repository.rb', line 78

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

#url=(value) ⇒ Object



82
83
84
# File 'lib/zypper/upgraderepo/repository.rb', line 82

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