lib/rhoconnect/resource.rb in rhoconnect-rb-0.2.5 vs lib/rhoconnect/resource.rb in rhoconnect-rb-0.2.6

- old
+ new

@@ -9,18 +9,10 @@ model.send(:include, Callbacks) end module ClassMethods - def partition(p) - @partition = p - end - - def get_partition - @partition.is_a?(Proc) ? @partition.call : @partition - end - def rhoconnect_receive_create(partition, attributes) instance = self.send(:new) instance.send(:rhoconnect_apply_attributes, partition, attributes) instance.skip_rhoconnect_callbacks = true instance.save @@ -45,10 +37,15 @@ end end module InstanceMethods attr_accessor :skip_rhoconnect_callbacks + + def get_partition + @partition = partition + @partition.is_a?(Proc) ? @partition.call : @partition + end def rhoconnect_create call_client_method(:create) end @@ -74,19 +71,19 @@ def normalized_attributes attribs = self.attributes.dup attribs.each do |key,value| attribs[key] = Time.parse(value.to_s).to_i.to_s if value.is_a?(Time) or value.is_a?(DateTime) end if Rhoconnect.configuration.sync_time_as_int - attribs + attribs end private def call_client_method(action) unless self.skip_rhoconnect_callbacks attribs = self.normalized_attributes begin - Rhoconnect::Client.new.send(action, self.class.to_s, self.class.get_partition, attribs) + Rhoconnect::Client.new.send(action, self.class.to_s, self.get_partition, attribs) rescue RestClient::Exception => re warn "#{self.class.to_s}: rhoconnect_#{action} returned error: #{re.message} - #{re.http_body}" rescue Exception => e warn "#{self.class.to_s}: rhoconnect_#{action} returned unexpected error: #{e.message}" end