123456789_123456789_123456789_123456789_123456789_

Class: RSS::XMLStyleSheet

Relationships & Source Files
Inherits: Object
Defined in: lib/rss/xml-stylesheet.rb

Constant Summary

Class Method Summary

Instance Attribute Summary

Instance Method Summary

Constructor Details

.new(*attrs) ⇒ XMLStyleSheet

[ GitHub ]

  
# File 'lib/rss/xml-stylesheet.rb', line 37

def initialize(*attrs)
  if attrs.size == 1 and
      (attrs.first.is_a?(Hash) or attrs.first.is_a?(Array))
    attrs = attrs.first
  end
  @do_validate = true
  ATTRIBUTES.each do |attr|
    __send__("#{attr}=", nil)
  end
  vars = ATTRIBUTES.dup
  vars.unshift(:do_validate)
  attrs.each do |name, value|
    if vars.include?(name.to_s)
      __send__("#{name}=", value)
    end
  end
end

Instance Attribute Details

#alternate=(value) (writeonly)

[ GitHub ]

  
# File 'lib/rss/xml-stylesheet.rb', line 79

def alternate=(value)
  if value.nil? or /\A(?:yes|no)\z/ =~ value
    @alternate = value
  else
    if @do_validate
      args = ["?xml-stylesheet?", %Q[alternate="#{value}"]]
      raise NotAvailableValueError.new(*args)
    end
  end
  @alternate
end

#do_validate (rw)

[ GitHub ]

  
# File 'lib/rss/xml-stylesheet.rb', line 36

attr_accessor(:do_validate)

#href=(value) (writeonly)

[ GitHub ]

  
# File 'lib/rss/xml-stylesheet.rb', line 70

def href=(value)
  @href = value
  if @href and @type.nil?
    @type = guess_type(@href)
  end
  @href
end

Instance Method Details

#guess_type(filename) (private)

[ GitHub ]

  
# File 'lib/rss/xml-stylesheet.rb', line 99

def guess_type(filename)
  /\.([^.]+)$/ =~ filename
  GUESS_TABLE[$1]
end

#setup_maker(maker)

[ GitHub ]

  
# File 'lib/rss/xml-stylesheet.rb', line 91

def setup_maker(maker)
  xss = maker.xml_stylesheets.new_xml_stylesheet
  ATTRIBUTES.each do |attr|
    xss.__send__("#{attr}=", __send__(attr))
  end
end

#to_s

[ GitHub ]

  
# File 'lib/rss/xml-stylesheet.rb', line 55

def to_s
  rv = ""
  if @href
    rv << %Q[<?xml-stylesheet]
    ATTRIBUTES.each do |name|
      if __send__(name)
        rv << %Q[ #{name}="#{CGI.escapeHTML(__send__(name).to_s)}"]
      end
    end
    rv << %Q[?>]
  end
  rv
end