Class: RSS::XMLStyleSheet
Relationships & Source Files | |
Inherits: | Object |
Defined in: | lib/rss/xml-stylesheet.rb |
Constant Summary
-
ATTRIBUTES =
# File 'lib/rss/xml-stylesheet.rb', line 28%w(href type title media charset alternate)
-
GUESS_TABLE =
# File 'lib/rss/xml-stylesheet.rb', line 30{ "xsl" => "text/xsl", "css" => "text/css", }
Class Method Summary
- .new(*attrs) ⇒ XMLStyleSheet constructor
Instance Attribute Summary
- #alternate=(value) writeonly
- #do_validate rw
- #href=(value) writeonly
Instance Method Summary
Constructor Details
.new(*attrs) ⇒ XMLStyleSheet
# 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