Sha256: 13feaf2c69d6a12ee67ca2e65e8aeef7b0f8f52b2b9aee6882b963e3892da91d

Contents?: true

Size: 1.24 KB

Versions: 2

Compression:

Stored size: 1.24 KB

Contents

module Epp
  module Eis
    
    class CreditInfoResponse
      def initialize(response)
        @response = Nokogiri::XML(response)
      end
      
      def code
        @response.css('epp response result').first['code'].to_i
      end

      def message
        @response.css('epp response result msg').text
      end
      
      def zone_credits
        @response.css('fred|resCreditInfo fred|zoneCredit', 'fred' => XML_NS_FRED).inject({}) do |memo, item|
          memo[item.css('fred|zone', 'fred' => XML_NS_FRED).text] = item.css('fred|credit', 'fred' => XML_NS_FRED).text
          memo
        end
      end
    end
    
    module CreditCommands
      
      def credit_info
        builder = build_epp_request do |xml|
          xml.extension {
            xml.extcommand('xmlns:fred' => 'http://www.nic.cz/xml/epp/fred-1.4', 'xsi:schemaLocation' => 'http://www.nic.cz/xml/epp/fred-1.4 fred-1.4.xsd') {
              xml.parent.namespace = xml.parent.namespace_definitions.first
              xml.creditInfo
              xml.clTRID UUIDTools::UUID.timestamp_create.to_s
            }
          }
        end
        
        CreditInfoResponse.new(send_request(builder.to_xml))
      end
    end
  end
end

Epp::Server.send(:include, Epp::Eis::CreditCommands)

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
epp-eis-1.0.2 lib/epp-eis/credit.rb
epp-eis-1.0.1 lib/epp-eis/credit.rb