diff options
author | Peter Wilmott <p@p8952.info> | 2015-02-02 15:37:02 +0000 |
---|---|---|
committer | Peter Wilmott <p@p8952.info> | 2015-02-02 15:37:02 +0000 |
commit | 32bb98c0ab829b57df5ccf785fc1a0edeada5d21 (patch) | |
tree | 0327b8195c62c35d83756bed5660ca22d7e99da9 /web | |
parent | Don't exit (diff) | |
download | ruby-tinderbox-32bb98c0ab829b57df5ccf785fc1a0edeada5d21.tar.gz ruby-tinderbox-32bb98c0ab829b57df5ccf785fc1a0edeada5d21.tar.bz2 ruby-tinderbox-32bb98c0ab829b57df5ccf785fc1a0edeada5d21.zip |
Add repoman tidy task to clear entries with all targets enabled
Diffstat (limited to 'web')
-rw-r--r-- | web/Rakefile | 4 | ||||
-rw-r--r-- | web/lib/repoman.rb | 23 |
2 files changed, 27 insertions, 0 deletions
diff --git a/web/Rakefile b/web/Rakefile index 7676285..3f3dfab 100644 --- a/web/Rakefile +++ b/web/Rakefile @@ -29,6 +29,10 @@ namespace :db do update_repoman end + task :tidy_repoman do + tidy_repoman + end + task :clear_repoman do clear_repoman end diff --git a/web/lib/repoman.rb b/web/lib/repoman.rb index e8c6e6a..8287837 100644 --- a/web/lib/repoman.rb +++ b/web/lib/repoman.rb @@ -80,6 +80,29 @@ def update_repoman end end +def tidy_repoman + Package.order { [category, lower(name), version] }.each do |package| + target = '' + target = package[:r19_target] unless package[:r19_target] == 'nil' + target = package[:r20_target] unless package[:r20_target] == 'nil' + target = package[:r21_target] unless package[:r21_target] == 'nil' + target = package[:r22_target] unless package[:r22_target] == 'nil' + if target.empty? + Repoman.where(package_id: package[:identifier]).delete + next + end + + next_target = '' + next_target = 'ruby20' if target == 'ruby19' + next_target = 'ruby21' if target == 'ruby20' + next_target = 'ruby22' if target == 'ruby21' + if next_target.empty? + Repoman.where(package_id: package[:identifier]).delete + next + end + end +end + def clear_repoman Repoman.map(&:delete) end |