class Xommelier::Xml::Namespace

Attributes

attributes[R]
elements[R]
href[R]
options[R]
to_s[R]
uri[R]

Public Class Methods

new(uri, options = {}, &block) click to toggle source
# File lib/xommelier/xml/namespace.rb, line 19
def initialize(uri, options = {}, &block)
  @uri     = uri
  @options = {}
  @as      = options.delete(:as)

  self.options = options
  scoped(&block) if block_given?
end

Public Instance Methods

as() click to toggle source
# File lib/xommelier/xml/namespace.rb, line 28
def as
  @as unless default?
end
attribute_name() click to toggle source
# File lib/xommelier/xml/namespace.rb, line 66
def attribute_name
  default? ? 'xmlns' : "xmlns:#{as}"
end
default?() click to toggle source
# File lib/xommelier/xml/namespace.rb, line 58
def default?
  uri.to_s == DEFAULT_NS
end
inspect() click to toggle source
# File lib/xommelier/xml/namespace.rb, line 70
def inspect
  %(#{attribute_name}="#{uri}")
end
module() click to toggle source
# File lib/xommelier/xml/namespace.rb, line 46
def module
  options[:module]
end
ns() click to toggle source
# File lib/xommelier/xml/namespace.rb, line 32
def ns
  Xommelier::Xml::Namespace.registry
end
options=(options) click to toggle source
# File lib/xommelier/xml/namespace.rb, line 36
def options=(options)
  options.delete(:elements) { [] }.each do |name|
    element(name)
  end
  options.delete(:attributes) { [] }.each do |name|
    attribute(name)
  end
  @options.merge!(options)
end
schema() click to toggle source
# File lib/xommelier/xml/namespace.rb, line 50
def schema
  self.module.schema
end
scoped(&block) click to toggle source
# File lib/xommelier/xml/namespace.rb, line 54
def scoped(&block)
  instance_exec(&block)
end
to_hash() click to toggle source
# File lib/xommelier/xml/namespace.rb, line 62
def to_hash
  { as.to_s => uri.to_s }
end