Sha256: fd2cf8b7b6ce62657db8b3a323949c53ef07e5bba9b840a5e97a69449133d9f4
Contents?: true
Size: 1.48 KB
Versions: 1
Compression:
Stored size: 1.48 KB
Contents
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) hash1 = a_new.merge(b_new) hash2 = b_new.merge(a_new) hash1 == hash2 end def symbolize_keys(obj) 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 end result.sort! if result.respond_to?(:sort!) result end def parse_keys(data) case data when Hash data.empty? ? nil : data[keys][0].to_i when TrueClass true when FalseClass false else nil end end def merge_params(a, b) new = a.dup new.merge(b) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
zabbixapi-2.2.4 | lib/zabbixapi/basic/basic_func.rb |