Sha256: 8bc8f04c4be80bec1c1b8390e30b440b5f14980360af55bf099a57b4ffa4249c

Contents?: true

Size: 1.31 KB

Versions: 15

Compression:

Stored size: 1.31 KB

Contents

module Localeapp
  module Rails
    module Controller
      def self.included(base)
        if base.respond_to? :before_action
          base.before_action :handle_translation_updates
          base.after_action :send_missing_translations
        else
          base.before_filter :handle_translation_updates
          base.after_filter  :send_missing_translations
        end
      end

      def handle_translation_updates
        raise Localeapp::MissingApiKey unless ::Localeapp.configuration.has_api_key?
        unless ::Localeapp.configuration.polling_disabled?
          ::Localeapp.log_with_time 'Handling translation updates'
          if ::Localeapp.poller.needs_polling?
            ::Localeapp.log_with_time 'polling'
            ::Localeapp.poller.poll!
          end
        end

        unless ::Localeapp.configuration.reloading_disabled?
          if ::Localeapp.poller.needs_reloading?
            ::Localeapp.log_with_time 'reloading I18n'
            I18n.reload!
            ::Localeapp.poller.updated_at = ::Localeapp.poller.sync_data.updated_at
          end
        end
      end

      def send_missing_translations
        return if ::Localeapp.configuration.sending_disabled?
        ::Localeapp.missing_translations.reject_blacklisted
        ::Localeapp.sender.post_missing_translations
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
localeapp-3.3.0 lib/localeapp/rails/controller.rb
localeapp-3.2.0 lib/localeapp/rails/controller.rb
localeapp-3.1.3 lib/localeapp/rails/controller.rb
localeapp-3.1.2 lib/localeapp/rails/controller.rb
localeapp-3.1.1 lib/localeapp/rails/controller.rb
localeapp-3.1.0 lib/localeapp/rails/controller.rb
localeapp-3.0.1 lib/localeapp/rails/controller.rb
localeapp-3.0.0 lib/localeapp/rails/controller.rb
localeapp-2.5.0 lib/localeapp/rails/controller.rb
localeapp-2.4.0 lib/localeapp/rails/controller.rb
localeapp-2.3.0 lib/localeapp/rails/controller.rb
localeapp-2.2.0 lib/localeapp/rails/controller.rb
localeapp-2.1.1 lib/localeapp/rails/controller.rb
localeapp-2.1.0 lib/localeapp/rails/controller.rb
localeapp-2.0.0 lib/localeapp/rails/controller.rb