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
-
ATTRIBUTES =
# File 'lib/rss/xml-stylesheet.rb', line 29%w(href type title media charset alternate)
-
GUESS_TABLE =
# File 'lib/rss/xml-stylesheet.rb', line 31{ "xsl" => "text/xsl", "css" => "text/css", }
Class Method Summary
- .new(*attrs) ⇒ XMLStyleSheet constructor
Instance Attribute Summary
- #do_validate rw
- #alternate=(value) writeonly
- #href=(value) writeonly
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 |
#new_with_value_if_need | If |
#to_class_name | Given a |
Constructor Details
.new(*attrs) ⇒ XMLStyleSheet
# 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