diaspora/app/helpers/publisher_helper.rb
2017-09-17 19:29:15 +02:00

45 lines
1.5 KiB
Ruby

# frozen_string_literal: true
# Copyright (c) 2010-2011, Diaspora Inc. This file is
# licensed under the Affero General Public License version 3 or later. See
# the COPYRIGHT file.
module PublisherHelper
def service_button(service)
provider_title = I18n.t("services.index.share_to", provider: service.provider.titleize)
content_tag :div,
class: "btn btn-link service_icon dim",
title: "#{provider_title} (#{service.nickname})",
id: service.provider,
maxchar: service.class::MAX_CHARACTERS,
data: {toggle: "tooltip", placement: "bottom"} do
if service.provider == "wordpress"
content_tag(:span, "", class: "social-media-logos-wordpress-16x16")
else
content_tag(:i, "", class: "entypo-social-#{service.provider} small")
end
end
end
def public_selected?(selected_aspects)
"public" == selected_aspects.try(:first) || publisher_boolean?(:public)
end
def all_aspects_selected?(selected_aspects)
!all_aspects.empty? && all_aspects.size == selected_aspects.size && !public_selected?(selected_aspects)
end
def aspect_selected?(aspect, selected_aspects)
selected_aspects.include?(aspect) && !all_aspects_selected?(selected_aspects) && !public_selected?(selected_aspects)
end
def publisher_open?
publisher_boolean?(:open)
end
private
def publisher_boolean?(option)
@stream.try(:publisher).try(option) == true
end
end