Sha256: 7d5fb9c92679ba087e6bc38f9b392418a0acfd35c0dc598112c07d79d3d33178

Contents?: true

Size: 1.07 KB

Versions: 1

Compression:

Stored size: 1.07 KB

Contents

require 'soap/header/simplehandler'

module AdWords

    class HeaderHandler < SOAP::Header::SimpleHandler
        def initialize(tag, value)
            super(XSD::QName.new(nil, tag))
            @tag = tag
            @value = value
        end
    
        #the initial handler from the sample was wrong, it generated 2 level of tags
        def on_simple_outbound
            @value
        end
    end
    
    class AdWordsCredentials
        attr_reader :handlers
        
        def getDefaults()
            cred = Hash.new
            IO.foreach("#{ENV['HOME']}/adwords.properties") {|line| addCredential(cred, line.split('=')) if !(line =~ /^#/)}
            return cred
        end
        
        def addCredential(cred, arr)
          cred[arr[0]] = arr[1]
        end
    
        def initialize(*parm)
            @handlers = []
            if parm[0] 
                credentials = parm[0]
            else
                credentials = getDefaults()
            end
            credentials.each {|key, value| @handlers << HeaderHandler.new(key, value)}
        end
    end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
adwords4r-0.5 lib/adwords4r/credentials.rb