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