Class: Debci::Blacklist

Inherits:
Object
  • Object
show all
Defined in:
lib/debci/blacklist.rb

Instance Method Summary collapse

Constructor Details

#initialize(config_dir) ⇒ Blacklist

Returns a new instance of Blacklist



4
5
6
# File 'lib/debci/blacklist.rb', line 4

def initialize(config_dir)
  @config_dir = config_dir
end

Instance Method Details

#include?(package) ⇒ Boolean

Returns:

  • (Boolean)


8
9
10
# File 'lib/debci/blacklist.rb', line 8

def include?(package)
  packages.keys.include?(String(package))
end

#packagesObject



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/debci/blacklist.rb', line 12

def packages
  @packages ||=
    begin
      blacklist_file = File.join(@config_dir, 'blacklist')
      if File.exist?(blacklist_file)
        packages = {}
        reason = ''
        File.readlines(blacklist_file).each do |line|
          if line =~ /^\s*$/
            true # skip blank lines
          elsif line =~ /^\s*#/
            reason << line.sub(/^\s*#\s*/, '').gsub(/(https?:\/\/\S*)/, '<a href="\1">\1</a>')
          else
            pkg = line.strip
            packages[pkg] = reason
            reason = ''
          end
        end
        packages
      else
        {}
      end
    end
end