Class: Fog::Rackspace::Monitoring::Base

Inherits:
Model
  • Object
show all
Defined in:
lib/fog/rackspace/models/monitoring/base.rb

Instance Attribute Summary

Attributes inherited from Model

#collection, #service

Instance Method Summary collapse

Methods inherited from Model

#initialize, #inspect, #reload, #symbolize_keys, #to_json, #wait_for

Methods included from Attributes::ClassMethods

#_load, #aliases, #attribute, #attributes, #identity, #ignore_attributes, #ignored_attributes

Methods included from Core::DeprecatedConnectionAccessors

#connection, #connection=, #prepare_service_value

Methods included from Attributes::InstanceMethods

#_dump, #attributes, #dup, #identity, #identity=, #merge_attributes, #new_record?, #persisted?, #requires, #requires_one

Constructor Details

This class inherits a constructor from Fog::Model

Instance Method Details

#compare?(b) ⇒ Boolean

Returns:

  • (Boolean)


21
22
23
24
25
26
# File 'lib/fog/rackspace/models/monitoring/base.rb', line 21

def compare?(b)
  a_o = params
  b_o = b.params
  remain = a_o.reject {|key, value| b_o[key] === value}
  remain.empty?
end

#entity_idObject

Raises:

  • (ArgumentError)


28
29
30
31
# File 'lib/fog/rackspace/models/monitoring/base.rb', line 28

def entity_id
  raise(ArgumentError, "entity with id is required for this operation") unless entity && entity.identity
  entity.identity
end

#hashObject

Back to drawing board on this one I think



12
13
14
15
16
17
18
19
# File 'lib/fog/rackspace/models/monitoring/base.rb', line 12

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