Class: Ddr::Auth::Group

Inherits:
SimpleDelegator
  • Object
show all
Defined in:
lib/ddr/auth/group.rb

Overview

Wraps a String

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(id, opts = {}, &rule) ⇒ Group

Returns a new instance of Group.



10
11
12
13
14
15
# File 'lib/ddr/auth/group.rb', line 10

def initialize(id, opts={}, &rule)
  super(id)
  @label = opts[:label]
  @rule = rule
  freeze
end

Instance Attribute Details

#ruleObject (readonly)

Returns the value of attribute rule.



8
9
10
# File 'lib/ddr/auth/group.rb', line 8

def rule
  @rule
end

Instance Method Details

#agentObject



30
31
32
# File 'lib/ddr/auth/group.rb', line 30

def agent
  to_s
end

#has_member?(auth_context) ⇒ Boolean

Parameters:

Returns:

  • (Boolean)


18
19
20
# File 'lib/ddr/auth/group.rb', line 18

def has_member?(auth_context)
  rule ? instance_exec(auth_context, &rule) : auth_context.member_of?(self)
end

#idObject



22
23
24
# File 'lib/ddr/auth/group.rb', line 22

def id
  __getobj__
end

#inspectObject



34
35
36
# File 'lib/ddr/auth/group.rb', line 34

def inspect
  "#<#{self.class.name} id=#{id.inspect}, label=#{label.inspect}>"
end

#labelObject



26
27
28
# File 'lib/ddr/auth/group.rb', line 26

def label
  @label || id
end