123456789_123456789_123456789_123456789_123456789_

Class: RSS::XMLStyleSheet

Relationships & Source Files
Super Chains via Extension / Inclusion / Inheritance
Instance Chain:
self, Utils
Inherits: Object
Defined in: lib/rss/xml-stylesheet.rb

Constant Summary

Class Method Summary

Instance Attribute Summary

Instance Method Summary

Utils - Included

#element_initialize_arguments?

This method is used inside of several different objects to determine if special behavior is needed in the constructor.

#get_file_and_line_from_caller

Returns an array of two elements: the filename where the calling method is located, and the line number where it is defined.

#h,
#html_escape

Takes a string s with some HTML in it, and escapes '&', '“', '<' and '>', by replacing them with the appropriate entities.

#new_with_value_if_need

If value is an instance of class klass, return it, else create a new instance of klass with value value.

#to_class_name

Given a name in a name_with_underscores or a name-with-dashes format, returns the CamelCase version of name.

Constructor Details

.new(*attrs) ⇒ XMLStyleSheet

[ GitHub ]

  
# File 'lib/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

Instance Attribute Details

#alternate=(value) (writeonly)

[ GitHub ]

  
# File 'lib/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

#do_validate (rw)

[ GitHub ]

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

attr_accessor(:do_validate)

#href=(value) (writeonly)

[ GitHub ]

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

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 100

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

#setup_maker(maker)

[ GitHub ]

  
# File 'lib/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

[ GitHub ]

  
# File 'lib/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