rename projects
[arvados.git] / apps / workbench / app / helpers / application_helper.rb
1 module ApplicationHelper
2   def current_user
3     controller.current_user
4   end
5   def human_readable_bytes_html(n)
6     return h(n) unless n.is_a? Fixnum
7     raw = n.to_s
8     cooked = ''
9     while raw.length > 3
10       cooked = ',' + raw[-3..-1] + cooked
11       raw = raw[0..-4]
12     end
13     cooked = raw + cooked
14   end
15
16   def link_to_if_arvados_object(attrvalue, opts={}, style_opts={})
17     if (resource_class = ArvadosBase::resource_class_for_uuid(attrvalue, opts))
18       link_uuid = attrvalue.is_a?(ArvadosBase) ? attrvalue.uuid : attrvalue
19       link_name = opts[:link_text]
20       if !link_name
21         link_name = link_uuid
22         if !opts[:with_prefixes]
23           link_name = link_name.sub /^.{5}-.{5}-/, ''
24         end
25         if opts[:with_class_name]
26           link_name = "#{resource_class.to_s} #{link_name}"
27         end
28         style_opts = style_opts.merge(style: 'font-family: monospace')
29       end
30       link_to link_name, { controller: resource_class.to_s.underscore.pluralize, action: 'show', id: link_uuid }, style_opts
31     else
32       attrvalue
33     end
34   end
35 end