Sha256: 30fa6294d123f7c9b46d0690daf9659dc55da55664354160e39be834933eda4a

Contents?: true

Size: 581 Bytes

Versions: 76

Compression:

Stored size: 581 Bytes

Contents

module ASF

  class Authorization
    include Enumerable

    def self.find_by_id(value)
      new.select {|auth, ids| ids.include? value}.map(&:first)
    end

    def initialize(file='asf')
      @file = file
    end

    def each
      auth = ASF::SVN['infra/infrastructure/trunk/subversion/authorization']
      File.read("#{auth}/#{@file}-authorization-template").
        scan(/^([-\w]+)=(\w.*)$/).each do |pmc, ids|
        yield pmc, ids.split(',')
      end
    end
  end

  class Person
    def auth
      @auths ||= ASF::Authorization.find_by_id(name)
    end
  end
end

Version data entries

76 entries across 76 versions & 1 rubygems

Version Path
whimsy-asf-0.0.76 lib/whimsy/asf/auth.rb
whimsy-asf-0.0.75 lib/whimsy/asf/auth.rb
whimsy-asf-0.0.74 lib/whimsy/asf/auth.rb
whimsy-asf-0.0.73 lib/whimsy/asf/auth.rb
whimsy-asf-0.0.72 lib/whimsy/asf/auth.rb
whimsy-asf-0.0.71 lib/whimsy/asf/auth.rb
whimsy-asf-0.0.70 lib/whimsy/asf/auth.rb
whimsy-asf-0.0.69 lib/whimsy/asf/auth.rb
whimsy-asf-0.0.68 lib/whimsy/asf/auth.rb
whimsy-asf-0.0.67 lib/whimsy/asf/auth.rb
whimsy-asf-0.0.66 lib/whimsy/asf/auth.rb
whimsy-asf-0.0.65 lib/whimsy/asf/auth.rb
whimsy-asf-0.0.64 lib/whimsy/asf/auth.rb
whimsy-asf-0.0.63 lib/whimsy/asf/auth.rb
whimsy-asf-0.0.62 lib/whimsy/asf/auth.rb
whimsy-asf-0.0.61 lib/whimsy/asf/auth.rb
whimsy-asf-0.0.60 lib/whimsy/asf/auth.rb
whimsy-asf-0.0.59 lib/whimsy/asf/auth.rb
whimsy-asf-0.0.58 lib/whimsy/asf/auth.rb
whimsy-asf-0.0.57 lib/whimsy/asf/auth.rb