Module RSS::BaseModel
In: rss/rss.rb

Methods

Included Modules

Utils

Public Instance methods

[Source]

# File rss/rss.rb, line 210
    def install_date_element(name, type, disp_name=name)
      self::ELEMENTS << name
      add_need_initialize_variable(name)

      # accessor

      convert_attr_reader name
      module_eval("def \#{name}=(new_value)\nif new_value.kind_of?(Time)\n@\#{name} = new_value\nelse\nif @do_validate\nbegin\n@\#{name} = Time.send('\#{type}', new_value)\nrescue ArgumentError\nraise NotAvailableValueError.new('\#{disp_name}', new_value)\nend\nelse\n@\#{name} = nil\nif /\\\\A\\\\s*\\\\z/ !~ new_value.to_s\nbegin\n@\#{name} = Time.parse(new_value)\nrescue ArgumentError\nend\nend\nend\nend\n\n\# Is it need?\nif @\#{name}\nclass << @\#{name}\nundef_method(:to_s)\nalias_method(:to_s, :\#{type})\nend\nend\n\nend\n", *get_file_and_line_from_caller(2))
      
      install_element(name) do |n, elem_name|
        "if @\#{n}\nrv = \"\\\#{indent}<\#{elem_name}>\"\nvalue = html_escape(@\#{n}.\#{type})\nif convert and @converter\nrv << @converter.convert(value)\nelse\nrv << value\nend\nrv << \"</\#{elem_name}>\"\nrv\nelse\n''\nend\n"
      end

    end
install_have_attribute_element(name)

[Source]

# File rss/rss.rb, line 151
    def install_have_child_element(name)
      add_need_initialize_variable(name)

      attr_accessor name
      install_element(name) do |n, elem_name|
        "if @\#{n}\n\"\\\#{@\#{n}.to_s(convert, indent)}\"\nelse\n''\nend\n"
      end
    end

[Source]

# File rss/rss.rb, line 168
    def install_have_children_element(name, postfix="s")
      add_have_children_element(name)

      def_children_accessor(name, postfix)
      install_element(name, postfix) do |n, elem_name|
        "rv = ''\n@\#{n}.each do |x|\nrv << \"\\\#{x.to_s(convert, indent)}\"\nend\nrv\n"
      end
    end

[Source]

# File rss/rss.rb, line 184
    def install_text_element(name)
      self::ELEMENTS << name
      add_need_initialize_variable(name)

      attr_writer name
      convert_attr_reader name
      install_element(name) do |n, elem_name|
        "if @\#{n}\nrv = \"\\\#{indent}<\#{elem_name}>\"\nvalue = html_escape(@\#{n})\nif convert and @converter\nrv << @converter.convert(value)\nelse\nrv << value\nend\nrv << \"</\#{elem_name}>\"\nrv\nelse\n''\nend\n"
      end
    end

[Validate]