Class: LDAP::Server::Schema::ObjectClass
- Inherits:
-
Object
- Object
- LDAP::Server::Schema::ObjectClass
- Defined in:
- lib/ldap/server/schema.rb
Overview
Class holding an instance of an ObjectClassDescription (RFC2252 4.4)
Constant Summary
- SCAN_WOID =
/#{LDAP::Server::Syntax::WOID}/x
Instance Attribute Summary (collapse)
-
- (Object) desc
readonly
Returns the value of attribute desc.
-
- (Object) may
readonly
Returns the value of attribute may.
-
- (Object) must
readonly
Returns the value of attribute must.
-
- (Object) names
readonly
Returns the value of attribute names.
-
- (Object) obsolete
readonly
Returns the value of attribute obsolete.
-
- (Object) oid
readonly
Returns the value of attribute oid.
-
- (Object) struct
readonly
Returns the value of attribute struct.
-
- (Object) sup
readonly
Returns the value of attribute sup.
Instance Method Summary (collapse)
- - (Object) changed
-
- (ObjectClass) initialize(str)
constructor
A new instance of ObjectClass.
- - (Object) joinoids(pfx, arr, sfx)
- - (Object) name
- - (Object) to_def
- - (Object) to_s
Constructor Details
- (ObjectClass) initialize(str)
A new instance of ObjectClass
528 529 530 531 532 533 534 535 536 537 538 539 540 541 |
# File 'lib/ldap/server/schema.rb', line 528 def initialize(str) m = LDAP::Server::Syntax::ObjectClassDescription.match(str) raise LDAP::ResultError::InvalidAttributeSyntax, "Bad ObjectClassDescription #{str.inspect}" unless m @oid = m[1] @names = (m[2]||"").scan(/'(.*?)'/).flatten @desc = m[3] @obsolete = ! m[4].nil? @sup = (m[5]||"").scan(SCAN_WOID).flatten @struct = m[6] ? m[6].downcase.intern : :structural @must = (m[7]||"").scan(SCAN_WOID).flatten @may = (m[8]||"").scan(SCAN_WOID).flatten @def = nil end |
Instance Attribute Details
- (Object) desc (readonly)
Returns the value of attribute desc
524 525 526 |
# File 'lib/ldap/server/schema.rb', line 524 def desc @desc end |
- (Object) may (readonly)
Returns the value of attribute may
524 525 526 |
# File 'lib/ldap/server/schema.rb', line 524 def may @may end |
- (Object) must (readonly)
Returns the value of attribute must
524 525 526 |
# File 'lib/ldap/server/schema.rb', line 524 def must @must end |
- (Object) names (readonly)
Returns the value of attribute names
524 525 526 |
# File 'lib/ldap/server/schema.rb', line 524 def names @names end |
- (Object) obsolete (readonly)
Returns the value of attribute obsolete
524 525 526 |
# File 'lib/ldap/server/schema.rb', line 524 def obsolete @obsolete end |
- (Object) oid (readonly)
Returns the value of attribute oid
524 525 526 |
# File 'lib/ldap/server/schema.rb', line 524 def oid @oid end |
- (Object) struct (readonly)
Returns the value of attribute struct
524 525 526 |
# File 'lib/ldap/server/schema.rb', line 524 def struct @struct end |
- (Object) sup (readonly)
Returns the value of attribute sup
524 525 526 |
# File 'lib/ldap/server/schema.rb', line 524 def sup @sup end |
Instance Method Details
- (Object) changed
551 552 553 |
# File 'lib/ldap/server/schema.rb', line 551 def changed @def = nil end |
- (Object) joinoids(pfx, arr, sfx)
577 578 579 580 581 582 583 584 585 586 |
# File 'lib/ldap/server/schema.rb', line 577 def joinoids(pfx,arr,sfx) return "" unless arr and !arr.empty? return "#{pfx}#{arr}#{sfx}" unless arr.is_a?(Array) a = arr.collect { |elem| elem.to_s } if a.size == 1 return "#{pfx}#{a.first}#{sfx}" else return "#{pfx}( #{a.join(" $ ")} )#{sfx}" end end |
- (Object) name
543 544 545 |
# File 'lib/ldap/server/schema.rb', line 543 def name @names.first end |
- (Object) to_def
555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 |
# File 'lib/ldap/server/schema.rb', line 555 def to_def return @def if @def ans = "( #{@oid} " if @names.nil? or @names.empty? # nothing elsif @names.size == 1 ans << "NAME '#{@names.first}' " else ans << "NAME ( " @names.each { |n| ans << "'#{n}' " } ans << ") " end ans << "DESC '#{@desc}' " if @desc ans << "OBSOLETE " if @obsolete ans << joinoids("SUP ",@sup," ") ans << "#{@struct.to_s.upcase} " if @struct ans << joinoids("MUST ",@must," ") ans << joinoids("MAY ",@may," ") ans << ")" @def = ans end |
- (Object) to_s
547 548 549 |
# File 'lib/ldap/server/schema.rb', line 547 def to_s (@names && @names.first) || @oid end |