In Files

Class/Module Index [+]

Quicksearch

RSS::BaseModel

Public Instance Methods

install_date_element(tag_name, uri, occurs, name=nil, type=nil, disp_name=nil) click to toggle source
                
# File rss/rss.rb, line 241
def install_date_element(tag_name, uri, occurs, name=nil, type=nil, disp_name=nil)
  name ||= tag_name
  type ||= :w3cdtf
  disp_name ||= name
  self::ELEMENTS << name
  add_need_initialize_variable(name)
  install_model(tag_name, uri, occurs, name)

  # accessor
  convert_attr_reader name
  date_writer(name, type, disp_name)

  install_element(name) do |n, elem_name|
            if @#{n}          rv = "\#{indent}<#{elem_name}>"          value = html_escape(@#{n}.#{type})          if need_convert            rv << convert(value)          else            rv << value          end            rv << "</#{elem_name}>"          rv        else          ''        end
  end

end
install_have_attribute_element(tag_name, uri, occurs, name=nil, type=nil) click to toggle source
install_have_child_element(tag_name, uri, occurs, name=nil, type=nil) click to toggle source
                
# File rss/rss.rb, line 167
def install_have_child_element(tag_name, uri, occurs, name=nil, type=nil)
  name ||= tag_name
  add_need_initialize_variable(name)
  install_model(tag_name, uri, occurs, name)

  writer_type, reader_type = type
  def_corresponded_attr_writer name, writer_type
  def_corresponded_attr_reader name, reader_type
  install_element(name) do |n, elem_name|
            if @#{n}          "\#{@#{n}.to_s(need_convert, indent)}"        else          ''        end
  end
end
install_have_children_element(tag_name, uri, occurs, name=nil, plural_name=nil) click to toggle source
                
# File rss/rss.rb, line 187
def install_have_children_element(tag_name, uri, occurs, name=nil, plural_name=nil)
  name ||= tag_name
  plural_name ||= "#{name}s"
  add_have_children_element(name, plural_name)
  add_plural_form(name, plural_name)
  install_model(tag_name, uri, occurs, plural_name, true)

  def_children_accessor(name, plural_name)
  install_element(name, "s") do |n, elem_name|
            rv = []        @#{n}.each do |x|          value = "\#{x.to_s(need_convert, indent)}"          rv << value if /\\A\\s*\\z/ !~ value        end        rv.join("\n")
  end
end
install_text_element(tag_name, uri, occurs, name=nil, type=nil, disp_name=nil) click to toggle source
                
# File rss/rss.rb, line 207
def install_text_element(tag_name, uri, occurs, name=nil, type=nil,
                         disp_name=nil)
  name ||= tag_name
  disp_name ||= name
  self::ELEMENTS << name unless self::ELEMENTS.include?(name)
  add_need_initialize_variable(name)
  install_model(tag_name, uri, occurs, name)

  def_corresponded_attr_writer(name, type, disp_name)
  def_corresponded_attr_reader(name, type || :convert)
  install_element(name) do |n, elem_name|
            if respond_to?(:#{n}_content)          content = #{n}_content        else          content = @#{n}        end        if content          rv = "\#{indent}<#{elem_name}>"          value = html_escape(content)          if need_convert            rv << convert(value)          else            rv << value          end            rv << "</#{elem_name}>"          rv        else          ''        end
  end
end
blog comments powered by Disqus