Module: ActiveRemote::Integration

Extended by:
ActiveSupport::Concern
Included in:
Base
Defined in:
lib/active_remote/integration.rb

Instance Method Summary collapse

Instance Method Details

#cache_keyObject

Returns a cache key that can be used to identify this record.

Examples

Product.new.cache_key     # => "products/new"
Person.search(:guid => "derp-5").cache_key  # => "people/derp-5-20071224150000" (include updated_at)
Product.search(:guid => "derp-5").cache_key # => "products/derp-5"


39
40
41
42
43
44
45
46
47
48
49
# File 'lib/active_remote/integration.rb', line 39

def cache_key
  case
  when new_record? then
    "#{self.class.name.underscore}/new"
  when ::ActiveRemote.config.default_cache_key_updated_at? && (timestamp = self[:updated_at]) then
    timestamp = timestamp.utc.to_s(self.class.cache_timestamp_format)
    "#{self.class.name.underscore}/#{self.to_param}-#{timestamp}"
  else
    "#{self.class.name.underscore}/#{self.to_param}"
  end
end

#to_paramObject

Returns a String, which can be used for constructing an URL to this object. The default implementation returns this record’s guid as a String, or nil if this record’s unsaved.

user = User.search(:name => 'Phusion')
user.to_param  # => "GUID-1"


26
27
28
# File 'lib/active_remote/integration.rb', line 26

def to_param
  self[:guid]&.to_s
end