travis-api/lib/travis/api/v3/access_control/application.rb
2015-01-13 15:22:20 +01:00

26 lines
709 B
Ruby

require 'travis/api/v3/access_control/generic'
module Travis::API::V3
class AccessControl::Application < AccessControl::Generic
attr_reader :application_name, :config, :user
def initialize(application_name, user: nil)
@application_name = application_name
@config = Travis.config.applications[application_name]
@user = user
raise ArgumentError, 'unknown application %p' % application_name unless config
raise ArgumentError, 'cannot use %p without a user' % application_name if config.requires_user and not user
end
protected
def logged_in?
!!user
end
def full_access?
config.full_access
end
end
end