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