Class: ActiveLdap::Schema::Attribute

Inherits:
Entry
  • Object
show all
Includes:
GetTextSupport, HumanReadable
Defined in:
lib/active_ldap/schema.rb

Instance Attribute Summary collapse

Attributes inherited from Entry

#aliases, #description, #id, #name

Instance Method Summary collapse

Methods included from HumanReadable

included

Methods included from GetTextSupport

included

Methods inherited from Entry

#<=>, #eql?, #hash, #to_param

Constructor Details

#initialize(name, schema) ⇒ Attribute

Returns a new instance of Attribute.



393
394
395
# File 'lib/active_ldap/schema.rb', line 393

def initialize(name, schema)
  super(name, schema, "attributeTypes")
end

Instance Attribute Details

#super_attributeObject (readonly)

Returns the value of attribute super_attribute.



392
393
394
# File 'lib/active_ldap/schema.rb', line 392

def super_attribute
  @super_attribute
end

Instance Method Details

#binary?Boolean

binary?

Returns true if the given attribute’s syntax is X-NOT-HUMAN-READABLE or X-BINARY-TRANSFER-REQUIRED

Returns:

  • (Boolean)


418
419
420
# File 'lib/active_ldap/schema.rb', line 418

def binary?
  @binary
end

#binary_required?Boolean

binary_required?

Returns true if the value MUST be transferred in binary

Returns:

  • (Boolean)


425
426
427
# File 'lib/active_ldap/schema.rb', line 425

def binary_required?
  @binary_required
end

#directory_operation?Boolean

directory_operation?

Returns true if an attribute is directory operation. It means that USAGE contains directoryOperation.

Returns:

  • (Boolean)


433
434
435
# File 'lib/active_ldap/schema.rb', line 433

def directory_operation?
  @directory_operation
end

#human_attribute_descriptionObject



472
473
474
# File 'lib/active_ldap/schema.rb', line 472

def human_attribute_description
  self.class.human_attribute_description(self)
end

#human_attribute_nameObject



468
469
470
# File 'lib/active_ldap/schema.rb', line 468

def human_attribute_name
  self.class.human_attribute_name(self)
end

#normalize_value(value) ⇒ Object



460
461
462
# File 'lib/active_ldap/schema.rb', line 460

def normalize_value(value)
  normalize_value_internal(value, false)
end

#read_only?Boolean

read_only?

Returns true if an attribute is read-only NO-USER-MODIFICATION

Returns:

  • (Boolean)


401
402
403
# File 'lib/active_ldap/schema.rb', line 401

def read_only?
  @read_only
end

#single_value?Boolean

single_value?

Returns true if an attribute can only have one value defined SINGLE-VALUE

Returns:

  • (Boolean)


410
411
412
# File 'lib/active_ldap/schema.rb', line 410

def single_value?
  @single_value
end

#syntaxObject



437
438
439
# File 'lib/active_ldap/schema.rb', line 437

def syntax
  @derived_syntax
end

#syntax_descriptionObject



464
465
466
# File 'lib/active_ldap/schema.rb', line 464

def syntax_description
  send_to_syntax(nil, :description)
end

#to_hashObject



476
477
478
479
480
481
482
483
484
485
486
# File 'lib/active_ldap/schema.rb', line 476

def to_hash
  {
    :read_only => read_only?,
    :single_value => single_value?,
    :binary => binary?,
    :binary_required => binary_required?,
    :directory_operation => directory_operation?,
    :syntax => syntax,
    :syntax_description => syntax_description,
  }
end

#type_cast(value) ⇒ Object



456
457
458
# File 'lib/active_ldap/schema.rb', line 456

def type_cast(value)
  send_to_syntax(value, :type_cast, value)
end

#valid?(value) ⇒ Boolean

Returns:

  • (Boolean)


441
442
443
# File 'lib/active_ldap/schema.rb', line 441

def valid?(value)
  validate(value).nil?
end

#validate(value) ⇒ Object



445
446
447
448
449
450
451
452
453
454
# File 'lib/active_ldap/schema.rb', line 445

def validate(value)
  error_info = validate_each_value(value)
  return error_info if error_info
  begin
    normalize_value(value)
    nil
  rescue AttributeValueInvalid
    [$!.message]
  end
end