class Shibkit::MetaMeta::Provider
Constants
- MDUI_ROOT
- REQUIRED_QUACKS
- ROOT_ELEMENT
Element and attribute used to select XML for new objects
- TARGET_ATTR
Attributes
descriptions[RW]
display_names[RW]
domains[RW]
entity_id[RW]
The URI of the entity
entity_uri[RW]
The URI of the entity
geolocation_urls[RW]
info_urls[RW]
ip_blocks[RW]
keyword_sets[RW]
organisation[RW]
privacy_urls[RW]
uri[RW]
The URI of the entity
valid[R]
valid?[R]
Public Instance Methods
description(lang=:en)
click to toggle source
# File lib/shibkit/meta_meta/provider.rb, line 85 def description(lang=:en) return descriptions[lang] unless descriptions[lang].to_s.empty? if self.kind_of?(Shibkit::MetaMeta::SP) and default_service return default_service.description(lang) unless default_service.description(lang).to_s.empty? end if organisation return organisation.display_name unless organisation.display_name.to_s.empty? return organisation.name unless organisation.name.to_s.empty? end return "" end
display_name(lang=:en)
click to toggle source
# File lib/shibkit/meta_meta/provider.rb, line 68 def display_name(lang=:en) return display_names[lang] unless display_names[lang].to_s.empty? if self.kind_of?(Shibkit::MetaMeta::SP) and default_service return self.default_service.name[lang] unless default_service.name[lang].to_s.empty? end if organisation return organisation.display_name unless organisation.display_name.to_s.empty? return [organisation.name, "service"].join(' ') unless organisation.name.to_s.empty? end return entity_id end
info_url(lang=:en)
click to toggle source
# File lib/shibkit/meta_meta/provider.rb, line 108 def info_url(lang=:en) return info_urls[lang] || nil end
keywords(lang=:en)
click to toggle source
# File lib/shibkit/meta_meta/provider.rb, line 102 def keywords(lang=:en) return keyword_sets[lang] || [] end
logos(lang=:en)
click to toggle source
# File lib/shibkit/meta_meta/provider.rb, line 120 def logos(lang=:en) return logos[lang] || [] end
privacy_url(lang=:en)
click to toggle source
# File lib/shibkit/meta_meta/provider.rb, line 114 def privacy_url(lang=:en) return privacy_urls[lang] || nil end
purge_xml(cascade=true)
click to toggle source
Calls superclass method
Shibkit::MetaMeta::MetadataItem#purge_xml
# File lib/shibkit/meta_meta/provider.rb, line 126 def purge_xml(cascade=true) super return unless cascade @logos.values.each do |logo_set| logo_set.each { |logo| logo.purge_xml(cascade)} end end
textify_xml(cascade=true)
click to toggle source
Calls superclass method
Shibkit::MetaMeta::MetadataItem#textify_xml
# File lib/shibkit/meta_meta/provider.rb, line 140 def textify_xml(cascade=true) super return unless cascade @logos.values.each do |logo_set| logo_set.each { |logo| logo.textify_xml(cascade)} end end
to_s()
click to toggle source
# File lib/shibkit/meta_meta/provider.rb, line 62 def to_s return uri end
Private Instance Methods
parse_xml()
click to toggle source
# File lib/shibkit/meta_meta/provider.rb, line 156 def parse_xml self.entity_uri = @noko['entityID'] mdui_root = self.class::MDUI_ROOT ## Display names @display_names = extract_lang_map_of_strings("xmlns:#{mdui_root}/xmlns:Extensions/mdui:UIInfo/mdui:DisplayName") ## Descriptions @descriptions = extract_lang_map_of_strings("xmlns:#{mdui_root}/xmlns:Extensions/mdui:UIInfo/mdui:Description") ## Keywords @keyword_sets = extract_lang_map_of_string_lists("xmlns:#{mdui_root}/xmlns:Extensions/mdui:UIInfo/mdui:Keywords") ## Information URLs @info_urls = extract_lang_map_of_strings("xmlns:#{mdui_root}/xmlns:Extensions/mdui:UIInfo/mdui:InformationURL") ## Privacy Statement URLs @privacy_urls = extract_lang_map_of_strings("xmlns:#{mdui_root}/xmlns:Extensions/mdui:UIInfo/mdui:PrivacyStatementURL") ## Logos @logos = extract_lang_map_of_objects("xmlns:#{mdui_root}/xmlns:Extensions/mdui:UIInfo/mdui:Logo", Shibkit::MetaMeta::Logo) ## IP Address Ranges @ip_blocks = extract_simple_list("xmlns:#{mdui_root}/xmlns:Extensions/mdui:DiscoHints/mdui:IPHint") ## DNS Domain Names @domains = extract_simple_list("xmlns:#{mdui_root}/xmlns:Extensions/mdui:DiscoHints/mdui:DomainHint") ## Geolocations @geolocations = extract_simple_list("xmlns:#{mdui_root}/xmlns:Extensions/mdui:DiscoHints/mdui:GeolocationHint") end