Sha256: 30e5fd7e6a8fb0a690f505071d92eb93eb1953163722bc2f7c44a3ab5dd9a193

Contents?: true

Size: 1.94 KB

Versions: 1

Compression:

Stored size: 1.94 KB

Contents

module PlataformaSocial
  module Helpers
    
    def plataforma_social_javascripts
      plataforma_social_script_tag + plataforma_social_config_script
    end
    
    def plataforma_social_script_tag
      %Q{<script src="#{PlataformaSocial.domains('js')}/socialp.js" type="text/javascript" charset="utf-8"></script>}.html_safe
    end
    
    def plataforma_social_config_script
      %Q{<script type="text/javascript" charset="utf-8">
        $P.init({ apiKey: '#{PlataformaSocial.api_key}' });
        window._FACEBOOK_APP_URL = 'http://apps.facebook.com/#{PlataformaSocial.facebook_app_namespace}';
      </script>}.html_safe
    end
    
    def custom_redirect_to path, options = {}
      options.each_pair do |key, value|
        cookies[key] = value
      end
      
      render :text => %Q{
        <script type="text/javascript" charset="utf-8">
          window.top.location = "//apps.facebook.com/#{PlataformaSocial.facebook_app_namespace}#{path}";
        </script>
      }
    end
    
    def link_to *args, &block
      if args[2][:normal] === true
        super
      else
        unless block_given?
          referer             = request.referer
          facebook_domain     = 'apps.facebook.com'
          if params["controller"].include?("admin/")
            super
          else
            server_domain = request.env['HTTP_HOST']
            if args[1].index(request.env['HTTP_HOST']) 
              args[1].gsub! server_domain, facebook_domain + '/' + PlataformaSocial.facebook_app_namespace
            else
              args[1] = request.protocol + facebook_domain + '/' + PlataformaSocial.facebook_app_namespace + args[1]
            end
          
            args[2] ||= {}
            args[2][:target] = '_top'
          
          end
        end
      
        super
      end
    end
  end
end

ActiveSupport.on_load(:action_view) do
  include PlataformaSocial::Helpers
end

class ActionController::Base
  include PlataformaSocial::Helpers
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
plataforma_social-0.0.4 lib/plataforma_social/helpers.rb