class WhitelistResolver

Attributes

whitelist[RW]
whitelist_loaded[RW]
whitelist_url[RW]

Public Class Methods

new() click to toggle source
# File lib/cocoapods-whitelist/client/whitelist_resolver.rb, line 14
def initialize()
    @whitelist_url = DEFAULT_WHITELIST_URL
    load_whitelist()
end

Public Instance Methods

config() click to toggle source
# File lib/cocoapods-whitelist/client/whitelist_resolver.rb, line 10
def config 
    @whitelist ||= []
end
get_whitelist(whitelist_url = DEFAULT_WHITELIST_URL) click to toggle source
# File lib/cocoapods-whitelist/client/whitelist_resolver.rb, line 19
def get_whitelist(whitelist_url = DEFAULT_WHITELIST_URL)
    @whitelist_loaded = @whitelist_url == whitelist_url
    @whitelist_url = whitelist_url

    load_whitelist() unless @whitelist_loaded
    return @whitelist
end
load_whitelist() click to toggle source
# File lib/cocoapods-whitelist/client/whitelist_resolver.rb, line 27
def load_whitelist
    begin
        open(@whitelist_url) { |io|
            buffer = io.read
            @whitelist = parse_whitelist(buffer)
            @whitelist_loaded = true
        }
    rescue OpenURI::HTTPError => e
        status = e.io.status.join(' ')
        raise "Failed to fetch whitelist from '#{@whitelist_url}'.\n Error: #{status}"
    end
end
parse_whitelist(raw_whitelist) click to toggle source
# File lib/cocoapods-whitelist/client/whitelist_resolver.rb, line 40
def parse_whitelist(raw_whitelist)
    json = JSON.parse(raw_whitelist)
    return json["whitelist"].map { |dependencyJson|
        AllowedDependency.new(dependencyJson["name"], dependencyJson["version"], dependencyJson["expire"], dependencyJson["source"], dependencyJson["target"])
    }
end