lib/pxpay/notification.rb in pxpay-0.1.1 vs lib/pxpay/notification.rb in pxpay-0.1.2

- old
+ new

@@ -1,11 +1,10 @@ module Pxpay # The return notification from Payment Express class Notification - mattr_accessor :order_details attr_accessor :response - + # Create a new Notification from Payment Express' response def initialize(response) @response = response end # Return the xml response @@ -14,15 +13,26 @@ end # Return the response as a hash def to_hash require 'nokogiri' - doc = Nokogiri::XML(self.response) + doc = ::Nokogiri::XML( self.response ) hash = {} doc.at_css("Response").element_children.each do |attribute| hash[attribute.name.underscore.to_sym] = attribute.inner_text end hash[:valid] = doc.at_css("Response")['valid'] hash end end +end + +class String + # A copy of Rails' ActiveSupport underscore method + def underscore + self.gsub(/::/, '/'). + gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2'). + gsub(/([a-z\d])([A-Z])/,'\1_\2'). + tr("-", "_"). + downcase + end end \ No newline at end of file