mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
166803de25
These files were merged from github.com/racker/rackspace-monitoring-rb. The namespace was different than the convetion in fog so the namespace was modified to be compliant with the rest of the fog library.
42 lines
1 KiB
Ruby
42 lines
1 KiB
Ruby
require 'digest/md5'
|
|
|
|
module Fog
|
|
module Rackspace
|
|
class Monitoring
|
|
class Base < Fog::Model
|
|
|
|
attribute :created_at
|
|
attribute :updated_at
|
|
|
|
# Back to drawing board on this one I think
|
|
def hash
|
|
attrs = attributes.dup
|
|
attrs.delete_if {|key, value| [:created_at, :updated_at, :id].include?(key)}
|
|
attrs.delete_if {|key, value| value.kind_of?(Base) }
|
|
keys = attrs.keys.map{|sym| sym.to_s}.sort.join ''
|
|
values = attrs.values.map{|sym| sym.to_s}.sort.join ''
|
|
Digest::MD5.hexdigest(keys + values)
|
|
end
|
|
|
|
def compare?(b)
|
|
a_o = prep
|
|
b_o = b.prep
|
|
remain = a_o.reject {|key, value| b_o[key] === value}
|
|
remain.empty?
|
|
end
|
|
|
|
def get_entity_id
|
|
requires :entity
|
|
begin
|
|
requires :entity
|
|
entity_id = entity.identity
|
|
rescue
|
|
requires :entity_id
|
|
end
|
|
entity_id
|
|
end
|
|
|
|
end
|
|
end
|
|
end
|
|
end
|