# Copyright (c) 2010, Diaspora Inc. This file is # licensed under the Affero General Public License version 3. See # the COPYRIGHT file. module ApplicationHelper def current_aspect?(aspect) !@aspect.is_a?(Symbol) && @aspect.id == aspect.id end def object_path(object, opts = {}) object = object.person if object.is_a? User eval("#{object.class.to_s.underscore}_path(object, opts)") end def object_fields(object) object.attributes.keys end def mine?(post) current_user.owns? post end def type_partial(post) class_name = post.class.name.to_s.underscore "#{class_name.pluralize}/#{class_name}" end def how_long_ago(obj) "#{time_ago_in_words(obj.created_at)} ago" end def person_url(person) case person.class.to_s when "User" user_path(person) when "Person" person_path(person) else I18n.t('application.helper.unknown_person') end end def owner_image_tag person_image_tag(current_user.person) end def owner_image_link person_image_link(current_user.person) end def person_image_tag(person) image_location = person.profile.image_url image_location ||= "/images/user/default.jpg" image_tag image_location, :class => "avatar", :alt => person.real_name, :title => person.real_name end def person_image_link(person) link_to person_image_tag(person), object_path(person) end def new_request(request_count) I18n.t('application.helper.new_requests') if request_count > 0 end def post_yield_tag(post) (':' + post.id.to_s).to_sym end def connected_fb_as token response_hash = MiniFB.get(token, 'me') "Connected to facebook as #{response_hash[:name]}" end end