Sha256: 708d39fd0201107468e42553d1f7316eca04c02b16cf89c79cd31f3cd8cc2bc5

Contents?: true

Size: 976 Bytes

Versions: 2

Compression:

Stored size: 976 Bytes

Contents

require_relative '../asf'
require 'nokogiri'

module ASF

  class Site
    @@list = {}

    def self.list
      templates = ASF::SVN['asf/infrastructure/site/trunk/content']
      file = "#{templates}/index.html"
      return @@list if not @@list.empty? and File.mtime(file) == @@mtime
      @@mtime = File.mtime(file)

      Committee.load_committee_info
      doc = Nokogiri::HTML.parse(File.read(file))
      list = doc.at("#projects-list .row .row")
      if list
        list.search('a').each do |a|
          @@list[Committee.find(a.text).name] = 
            {link: a['href'], text: a['title']}
        end
      end

      @@list
    end

    def self.find(committee)
      committee = committee.name if ASF::Committee == committee
      list[committee]
    end
  end


  class Committee
    def site
      site = ASF::Site.find(name)
      site[:link] if site
    end

    def description
      site = ASF::Site.find(name)
      site[:text] if site
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
whimsy-asf-0.0.64 lib/whimsy/asf/site.rb
whimsy-asf-0.0.63 lib/whimsy/asf/site.rb