return @objects_map_for[dataclass]
end
- # helper method to get collection for the given uuid
- helper_method :get_collection
- def get_collection uuid
+ # helper method to get collections for the given uuid
+ helper_method :get_collections
+ def get_collections uuid
preload_collections([uuid])
- (@all_collections_for[uuid] && @all_collections_for[uuid].first) ?
- [@all_collections_for[uuid].first] : []
+ @all_collections_for[uuid]
end
# helper method to preload collections for the given uuids
end
end
- # helper method to get log collection for the given log
- helper_method :get_log_collection
- def get_log_collection log
+ # helper method to get log collections for the given log
+ helper_method :get_log_collections
+ def get_log_collections log
fixup = /([a-f0-9]{32}\+\d+)(\+?.*)/.match(log)
uuid = fixup[1]
preload_log_collections([uuid])
- (@all_log_collections_for[uuid] && @all_log_collections_for[uuid].first) ?
- [@all_log_collections_for[uuid].first] : []
+ @all_log_collections_for[uuid]
end
# helper method to preload collections for the given uuids
end
# TODO: make sure we get every page of results from API server
- Collection.limit(100).where(uuid: uuids).each do |collection|
+ Collection.where(uuid: uuids).each do |collection|
@all_log_collections_for[collection.uuid] << collection
end
end
<small>
<% if j.success and j.output %>
<a href="<%= collection_path(j.output) %>">
- <% get_collection(j.output).each do |c| %>
+ <% collections = get_collections(j.output) %>
+ <% if collections && !collections.empty? %>
+ <% c = collections.first %>
<% c.files.each do |file| %>
<%= file[0] == '.' ? file[1] : "#{file[0]}/#{file[1]}" %>
<% end %>
<td>
<small>
<% if j.log %>
- <% get_log_collection(j.log).each do |c| %>
+ <% log_collections = get_log_collections(j.log) %>
+ <% if log_collections && !log_collections.empty? %>
+ <% c = log_collections.first %>
<% c.files.each do |file| %>
<a href="<%= collection_path(j.log) %>/<%= file[1] %>?disposition=inline&size=<%= file[2] %>">Log</a>
<% end %>