Class: SAML2::Attribute
- Defined in:
- lib/saml2/attribute.rb,
lib/saml2/attribute/x500.rb
Direct Known Subclasses
Defined Under Namespace
Modules: NameFormats Classes: X500
Instance Attribute Summary collapse
-
#friendly_name ⇒ Object
Returns the value of attribute friendly_name.
-
#name ⇒ Object
Returns the value of attribute name.
-
#name_format ⇒ Object
Returns the value of attribute name_format.
-
#value ⇒ Object
Returns the value of attribute value.
Class Method Summary collapse
- .create(name, value = nil) ⇒ Object
- .from_xml(node) ⇒ Object
- .inherited(klass) ⇒ Object
- .subclasses ⇒ Object
Instance Method Summary collapse
- #build(builder) ⇒ Object
- #from_xml(node) ⇒ Object
-
#initialize(name = nil, value = nil, friendly_name = nil, name_format = nil) ⇒ Attribute
constructor
A new instance of Attribute.
Methods inherited from Base
load_object_array, load_string_array, #to_s, #to_xml
Constructor Details
#initialize(name = nil, value = nil, friendly_name = nil, name_format = nil) ⇒ Attribute
Returns a new instance of Attribute.
48 49 50 |
# File 'lib/saml2/attribute.rb', line 48 def initialize(name = nil, value = nil, friendly_name = nil, name_format = nil) @name, @value, @friendly_name, @name_format = name, value, friendly_name, name_format end |
Instance Attribute Details
#friendly_name ⇒ Object
Returns the value of attribute friendly_name.
46 47 48 |
# File 'lib/saml2/attribute.rb', line 46 def friendly_name @friendly_name end |
#name ⇒ Object
Returns the value of attribute name.
46 47 48 |
# File 'lib/saml2/attribute.rb', line 46 def name @name end |
#name_format ⇒ Object
Returns the value of attribute name_format.
46 47 48 |
# File 'lib/saml2/attribute.rb', line 46 def name_format @name_format end |
#value ⇒ Object
Returns the value of attribute value.
46 47 48 |
# File 'lib/saml2/attribute.rb', line 46 def value @value end |
Class Method Details
.create(name, value = nil) ⇒ Object
32 33 34 35 |
# File 'lib/saml2/attribute.rb', line 32 def create(name, value = nil) (class_for(name) || self).new(name, value) end |
.from_xml(node) ⇒ Object
23 24 25 26 27 28 29 30 |
# File 'lib/saml2/attribute.rb', line 23 def from_xml(node) # pass through for subclasses super unless self == Attribute # look for an appropriate subclass klass = class_for(node) klass ? klass.from_xml(node) : super end |
.inherited(klass) ⇒ Object
19 20 21 |
# File 'lib/saml2/attribute.rb', line 19 def inherited(klass) subclasses << klass end |
.subclasses ⇒ Object
15 16 17 |
# File 'lib/saml2/attribute.rb', line 15 def subclasses @subclasses ||= [] end |
Instance Method Details
#build(builder) ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/saml2/attribute.rb', line 52 def build(builder) builder['saml'].Attribute('Name' => name) do |builder| builder.parent['FriendlyName'] = friendly_name if friendly_name builder.parent['NameFormat'] = name_format if name_format Array(value).each do |val| xsi_type, val = convert_to_xsi(value) builder['saml'].AttributeValue(val) do |builder| builder.parent['xsi:type'] = xsi_type if xsi_type end end end end |
#from_xml(node) ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/saml2/attribute.rb', line 65 def from_xml(node) @name = node['Name'] @friendly_name = node['FriendlyName'] @name_format = node['NameFormat'] values = node.xpath('saml:AttributeValue', Namespaces::ALL).map do |node| convert_from_xsi(node['xsi:type'], node.content && node.content.strip) end @value = case values.length when 0; nil when 1; values.first else; values end super end |