Module: ActiveLdap::HumanReadable::ClassMethods

Defined in:
lib/active_ldap/human_readable.rb

Instance Method Summary collapse

Instance Method Details

#human_attribute_description(attribute_or_name) ⇒ Object



33
34
35
36
37
# File 'lib/active_ldap/human_readable.rb', line 33

def human_attribute_description(attribute_or_name)
  msgid = human_attribute_description_msgid(attribute_or_name)
  return nil if msgid.nil?
  s_(msgid)
end

#human_attribute_description_msgid(attribute_or_name) ⇒ Object



39
40
41
42
43
44
45
46
47
48
49
# File 'lib/active_ldap/human_readable.rb', line 39

def human_attribute_description_msgid(attribute_or_name)
  if attribute_or_name.is_a?(Schema::Attribute)
    attribute = attribute_or_name
  else
    attribute = schema.attribute(attribute_or_name.to_s)
    return nil if attribute.nil?
  end
  description = attribute.description
  return nil if description.nil?
  "LDAP|Description|Attribute|#{attribute.name}|#{description}"
end

#human_attribute_name(attribute_or_name, options = {}) ⇒ Object



9
10
11
12
13
14
# File 'lib/active_ldap/human_readable.rb', line 9

def human_attribute_name(attribute_or_name, options={})
  logger.warn("options was ignored.") unless options.empty?
  msgid = human_attribute_name_msgid(attribute_or_name)
  msgid ||= human_attribute_name_with_gettext(attribute_or_name)
  s_(msgid)
end

#human_attribute_name_msgid(attribute_or_name) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/active_ldap/human_readable.rb', line 16

def human_attribute_name_msgid(attribute_or_name)
  if attribute_or_name.is_a?(Schema::Attribute)
    name = attribute_or_name.name
  else
    attribute_name = attribute_or_name.to_s
    attribute = schema.attribute(attribute_name)
    return nil if attribute.id.nil?
    if attribute.name == attribute_name or
        attribute.aliases.include?(attribute_name)
      name = attribute_name
    else
      return nil
    end
  end
  "LDAP|Attribute|#{name}"
end

#human_object_class_description(object_class_or_name) ⇒ Object



64
65
66
67
68
# File 'lib/active_ldap/human_readable.rb', line 64

def human_object_class_description(object_class_or_name)
  msgid = human_object_class_description_msgid(object_class_or_name)
  return nil if msgid.nil?
  s_(msgid)
end

#human_object_class_description_msgid(object_class_or_name) ⇒ Object



70
71
72
73
74
75
76
77
78
79
80
# File 'lib/active_ldap/human_readable.rb', line 70

def human_object_class_description_msgid(object_class_or_name)
  if object_class_or_name.is_a?(Schema::ObjectClass)
    object_class = object_class_or_name
  else
    object_class = schema.object_class(object_class_or_name)
    return nil if object_class.nil?
  end
  description = object_class.description
  return nil if description.nil?
  "LDAP|Description|ObjectClass|#{object_class.name}|#{description}"
end

#human_object_class_name(object_class_or_name) ⇒ Object



51
52
53
# File 'lib/active_ldap/human_readable.rb', line 51

def human_object_class_name(object_class_or_name)
  s_(human_object_class_name_msgid(object_class_or_name))
end

#human_object_class_name_msgid(object_class_or_name) ⇒ Object



55
56
57
58
59
60
61
62
# File 'lib/active_ldap/human_readable.rb', line 55

def human_object_class_name_msgid(object_class_or_name)
  if object_class_or_name.is_a?(Schema::ObjectClass)
    name = object_class_or_name.name
  else
    name = object_class_or_name
  end
  "LDAP|ObjectClass|#{name}"
end

#human_readable_format(object) ⇒ Object



113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# File 'lib/active_ldap/human_readable.rb', line 113

def human_readable_format(object)
  case object
  when Array
    "[#{object.collect {|value| human_readable_format(value)}.join(', ')}]"
  when Hash
    formatted_values = []
    object.each do |key, value|
      formatted_values << [human_readable_format(key),
                           human_readable_format(value)].join("=>")
    end
    "{#{formatted_values.join(', ')}}"
  else
    if object.respond_to?(:to_human_readable_format)
      object.to_human_readable_format
    else
      object.inspect
    end
  end
end

#human_syntax_description(syntax_or_id) ⇒ Object



95
96
97
98
99
# File 'lib/active_ldap/human_readable.rb', line 95

def human_syntax_description(syntax_or_id)
  msgid = human_syntax_description_msgid(syntax_or_id)
  return nil if msgid.nil?
  s_(msgid)
end

#human_syntax_description_msgid(syntax_or_id) ⇒ Object



101
102
103
104
105
106
107
108
109
110
111
# File 'lib/active_ldap/human_readable.rb', line 101

def human_syntax_description_msgid(syntax_or_id)
  if syntax_or_id.is_a?(Schema::Syntax)
    syntax = syntax_or_id
  else
    syntax = schema.ldap_syntax(syntax_or_id)
    return nil if syntax.nil?
  end
  description = syntax.description
  return nil if description.nil?
  "LDAP|Description|Syntax|#{syntax.id}|#{description}"
end

#human_syntax_name(syntax_or_id) ⇒ Object



82
83
84
# File 'lib/active_ldap/human_readable.rb', line 82

def human_syntax_name(syntax_or_id)
  s_(human_syntax_name_msgid(syntax_or_id))
end

#human_syntax_name_msgid(syntax_or_id) ⇒ Object



86
87
88
89
90
91
92
93
# File 'lib/active_ldap/human_readable.rb', line 86

def human_syntax_name_msgid(syntax_or_id)
  if syntax_or_id.is_a?(Schema::Syntax)
    id = syntax_or_id.id
  else
    id = syntax_or_id
  end
  "LDAP|Syntax|#{id}"
end