require 'cgi'

module SocialHelper::TumblrMethods
  def tumblr_title(answer)
    asker = if answer.question.author_is_anonymous?
              answer.user.profile.anon_display_name.presence || APP_CONFIG["anonymous_name"]
            else
              answer.question.user.profile.safe_name
            end

    "#{asker} asked: #{answer.question.content}"
  end

  def tumblr_body(answer)
    answer_url = answer_url(
        id: answer.id,
        username: answer.user.screen_name,
        host: APP_CONFIG['hostname'],
        protocol: (APP_CONFIG['https'] ? :https : :http)
    )

    "#{answer.content}\n\n[Smile or comment on the answer here](#{answer_url})"
  end

  def tumblr_share_url(answer)
    answer_url = answer_url(
      id: answer.id,
      username: answer.user.screen_name,
      host: APP_CONFIG['hostname'],
      protocol: (APP_CONFIG['https'] ? :https : :http)
    )

    "https://www.tumblr.com/widgets/share/tool?shareSource=legacy&posttype=text&title=#{CGI.escape(tumblr_title(answer))}&url=#{CGI.escape(answer_url)}&caption=&content=#{CGI.escape(tumblr_body(answer))}"
  end
end