module PinganApi::Models::Extensions::Map
Public Class Methods
included(base)
click to toggle source
# File lib/pingan_api/models/extensions/map.rb, line 31 def self.included(base) def base.from_xml(xml) hash = Hash.from_xml(xml) hash_all = nil unless hash["Response"].nil? hash_all = hash["Response"]["Head"].merge(hash["Response"]["Body"]["Apply"]) end unless hash["Request"].nil? hash_all = hash["Request"]["Head"].merge(hash["Request"]["Body"]["Apply"]) end # fuck pingan dev 100000.times unless hash["RESPONSE"].nil? hash_all = hash["RESPONSE"]["Head"].merge(hash["RESPONSE"]["Body"]["Apply"]) end instance = self.new instance.mapping(hash_all) return instance end end
Public Instance Methods
get_binding()
click to toggle source
# File lib/pingan_api/models/extensions/map.rb, line 8 def get_binding binding end
get_result(template_path)
click to toggle source
# File lib/pingan_api/models/extensions/map.rb, line 12 def get_result(template_path) erb = ERB.new(File.read(template_path)) return erb.result(self.get_binding) end
mapping(hash)
click to toggle source
# File lib/pingan_api/models/extensions/map.rb, line 17 def mapping(hash) self.class.attr_names.each do |a| self.send("#{a.to_s}=", hash[a.upcase.to_s]) end end
to_hash()
click to toggle source
# File lib/pingan_api/models/extensions/map.rb, line 23 def to_hash hash = {} self.instance_variables.each do |var| hash[var.to_s.delete("@")] = self.instance_variable_get(var) end return hash end