class REXML::ReferenceWriter - rexml: Ruby Standard Library Documentation

# class REXML::ReferenceWriter

### Public Class Methods

new(id_type, public_id_literal, system_literal, context=nil) click to toggle source

    # File rexml-3.4.0/lib/rexml/doctype.rb, line 11
    def initialize(id_type,
                   public_id_literal,
                   system_literal,
                   context=nil)
      @id_type = id_type
      @public_id_literal = public_id_literal
      @system_literal = system_literal
      if context and context[:prologue_quote] == :apostrophe
        @default_quote = "'"
      else
        @default_quote = "\""
      end
    end

### Public Instance Methods

write(output) click to toggle source

    # File rexml-3.4.0/lib/rexml/doctype.rb, line 25
    def write(output)
      output << " #{@id_type}"
      if @public_id_literal
        if @public_id_literal.include?("'")
          quote = "\""
        else
          quote = @default_quote
        end
        output << " #{quote}#{@public_id_literal}#{quote}"
      end
      if @system_literal
        if @system_literal.include?("'")
          quote = "\""
        elsif @system_literal.include?("\"")
          quote = "'"
        else
          quote = @default_quote
        end
        output << " #{quote}#{@system_literal}#{quote}"
      end
    end