Class: REXML::SourceFactory

Inherits:
Object show all
Defined in:
lib/rexml/source.rb

Overview

Generates Source-s. USE THIS CLASS.

Class Method Summary collapse

Class Method Details

.create_from(arg) ⇒ Object

Generates a Source object

Parameters:

  • arg

    Either a String, or an IO

Returns:

  • a Source, or nil if a bad argument was given



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/rexml/source.rb', line 9

def SourceFactory::create_from(arg)
    if arg.kind_of? String
	  Source.new(arg)
    elsif arg.respond_to? :read and
          arg.respond_to? :readline and
          arg.respond_to? :nil? and
          arg.respond_to? :eof?
		IOSource.new(arg)
    elsif arg.kind_of? Source
      arg
    else
      raise "#{source.class} is not a valid input stream.  It must walk \n"+
      "like either a String, IO, or Source."
    end
end