lib/zabbixapi/basic/basic_func.rb in zabbixapi-2.2.4 vs lib/zabbixapi/basic/basic_func.rb in zabbixapi-2.4.0

- old
+ new

@@ -1,21 +1,15 @@ -class Hash - def <=> (other_hash) - self.keys.collect!{|key| key.to_s} <=> other_hash.keys.collect!{|key| key.to_s} - end -end - class ZabbixApi class Basic def log(message) puts "#{message}" if @client.options[:debug] end def hash_equals?(a, b) - a_new = normalize_obj(a) - b_new = normalize_obj(b) + a_new = normalize_hash(a) + b_new = normalize_hash(b) hash1 = a_new.merge(b_new) hash2 = b_new.merge(a_new) hash1 == hash2 end @@ -23,25 +17,20 @@ return obj.inject({}){|memo,(k,v)| memo[k.to_sym] = symbolize_keys(v); memo} if obj.is_a? Hash return obj.inject([]){|memo,v | memo << symbolize_keys(v); memo} if obj.is_a? Array obj end - def normalize_obj(obj) - result = nil - # obj.delete(:hostid) if obj.is_a? Hash #TODO remove to logig. TemplateID and HostID has different id - case obj - when Hash - result = obj.dup - result.each do |key,value| - result[key] = normalize_obj(value) - end - when Array - result = obj.dup - result.collect! {|item| normalize_obj(item)} - else - result = obj.to_s + def normalize_hash(hash) + result = hash.dup + result.delete(:hostid) #TODO remove to logig. TemplateID and HostID has different id + result.each do |key, value| + case value + when Array + result.delete(key) + else + result[key] = value.to_s + end end - result.sort! if result.respond_to?(:sort!) result end def parse_keys(data) case data