27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
# File 'lib/active_tracker/model.rb', line 27
def self.all(type, tags: {}, data_type: nil)
return [] if ActiveTracker.connection_offline?
keys = "#{PREFIX}/#{type}/"
keys += "*"
keys += tags.sort_by { |k,v| k.to_s }.map do |k,v|
"#{k}:#{CGI.escape(v.to_s)}"
end.join("*")
keys += "*" unless keys.end_with?("*")
if data_type
keys += "/#{data_type}"
end
connection = ActiveTracker.connection
result = connection.keys(keys).sort { |a,b| b <=> a }.map { |key| self.new(key, {}.to_json) }
end
|