class RSS::XMLStyleSheet

Constants

ATTRIBUTES
GUESS_TABLE

Attributes

do_validate[RW]

Public Class Methods

new(*attrs) click to toggle source
# File rss/xml-stylesheet.rb, line 38
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

Public Instance Methods

alternate=(value) click to toggle source
# File rss/xml-stylesheet.rb, line 80
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
href=(value) click to toggle source
# File rss/xml-stylesheet.rb, line 71
def href=(value)
  @href = value
  if @href and @type.nil?
    @type = guess_type(@href)
  end
  @href
end
setup_maker(maker) click to toggle source
# File rss/xml-stylesheet.rb, line 92
def setup_maker(maker)
  xss = maker.xml_stylesheets.new_xml_stylesheet
  ATTRIBUTES.each do |attr|
    xss.__send__("#{attr}=", __send__(attr))
  end
end
to_s() click to toggle source
# File rss/xml-stylesheet.rb, line 56
def to_s
  rv = ""
  if @href
    rv << %Q[<?xml-stylesheet]
    ATTRIBUTES.each do |name|
      if __send__(name)
        rv << %Q[ #{name}="#{h __send__(name)}"]
      end
    end
    rv << %Q[?>]
  end
  rv
end

Private Instance Methods

guess_type(filename) click to toggle source
# File rss/xml-stylesheet.rb, line 100
def guess_type(filename)
  /\.([^.]+)$/ =~ filename
  GUESS_TABLE[$1]
end