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.



390
391
392
# File 'lib/active_ldap/schema.rb', line 390

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

Instance Attribute Details

#super_attributeObject (readonly)

Returns the value of attribute super_attribute.



389
390
391
# File 'lib/active_ldap/schema.rb', line 389

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)


415
416
417
# File 'lib/active_ldap/schema.rb', line 415

def binary?
  @binary
end

#binary_required?Boolean

binary_required?

Returns true if the value MUST be transferred in binary

Returns:

  • (Boolean)


422
423
424
# File 'lib/active_ldap/schema.rb', line 422

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)


430
431
432
# File 'lib/active_ldap/schema.rb', line 430

def directory_operation?
  @directory_operation
end

#human_attribute_descriptionObject



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

def human_attribute_description
  self.class.human_attribute_description(self)
end

#human_attribute_nameObject



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

def human_attribute_name
  self.class.human_attribute_name(self)
end

#normalize_value(value) ⇒ Object



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

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)


398
399
400
# File 'lib/active_ldap/schema.rb', line 398

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)


407
408
409
# File 'lib/active_ldap/schema.rb', line 407

def single_value?
  @single_value
end

#syntaxObject



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

def syntax
  @derived_syntax
end

#syntax_descriptionObject



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

def syntax_description
  send_to_syntax(nil, :description)
end

#to_hashObject



473
474
475
476
477
478
479
480
481
482
483
# File 'lib/active_ldap/schema.rb', line 473

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



453
454
455
# File 'lib/active_ldap/schema.rb', line 453

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

#valid?(value) ⇒ Boolean

Returns:

  • (Boolean)


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

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

#validate(value) ⇒ Object



442
443
444
445
446
447
448
449
450
451
# File 'lib/active_ldap/schema.rb', line 442

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