Class: PackageList
Instance Method Summary collapse
- #[](n) ⇒ Object
- #conflict?(variable) ⇒ Boolean
- #each ⇒ Object
- #empty? ⇒ Boolean
- #include?(package) ⇒ Boolean
-
#initialize(root = '/') ⇒ PackageList
constructor
A new instance of PackageList.
- #length ⇒ Object
- #push(package) ⇒ Object
- #set(variable) ⇒ Object
Constructor Details
#initialize(root = '/') ⇒ PackageList
Returns a new instance of PackageList.
24 25 26 27 |
# File 'lib/packagelist.rb', line 24 def initialize(root = '/') @size = 0 @database = PackageDataBase.new(root) end |
Instance Method Details
#[](n) ⇒ Object
42 43 44 |
# File 'lib/packagelist.rb', line 42 def [](n) instance_variable_get("@a#{n}") end |
#conflict?(variable) ⇒ Boolean
73 74 75 76 77 78 |
# File 'lib/packagelist.rb', line 73 def conflict?(variable) for conflict in @database.get_sync_data(variable)['conflicts'] raise ConflictingEntry, "Error: '#{conflict}' conflicts with '#{variable}'" if include?(conflict) end end |
#each ⇒ Object
50 51 52 |
# File 'lib/packagelist.rb', line 50 def each 0.upto(@size - 1) { |n| yield self[n] } end |
#empty? ⇒ Boolean
54 55 56 |
# File 'lib/packagelist.rb', line 54 def empty?() return true unless (@size > 0) end |
#include?(package) ⇒ Boolean
58 59 60 61 62 63 |
# File 'lib/packagelist.rb', line 58 def include?(package) for value in self return true if (value == package) end return false end |
#length ⇒ Object
46 47 48 |
# File 'lib/packagelist.rb', line 46 def length @size end |
#push(package) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/packagelist.rb', line 29 def push(package) group = [] repo = @database.get_group_repo(package).to_s group = @database.get_repodata(repo)[package].to_a if (group.to_a.empty?) and (@database.upgrade?(package)) deps = @database.get_sync_data(package)['dependencies'] deps.each { |dependency| push(dependency) } set(package) else group.each { |member| push(member) } end end |
#set(variable) ⇒ Object
65 66 67 68 69 70 71 |
# File 'lib/packagelist.rb', line 65 def set(variable) unless (include?(variable)) conflict?(variable) instance_variable_set("@a#{@size}".to_sym, variable) @size += 1 end end |