Sha256: 3cdde9fed44fe9a504fdb1f669df09b90d88f393f066b71e4fe6f3be7fec15a1

Contents?: true

Size: 683 Bytes

Versions: 22

Compression:

Stored size: 683 Bytes

Contents

module Faalis
  module Middlewares

    # Locale middleware for `Faalis`. This middleware try to set
    # the locale from url.
    class Locale
      def initialize(app)
        @app = app
      end

      def call(env)
        req = Rack::Request.new(env)

        # Check whether locale is presence or not.
        if locale = req.path_info.match(/^([a-z]{2})\/.*/)
          # If its set the default locale to it.
          locale = locale[1]
        else
          # Use pre-defined default if it isn't
          locale = ::I18n.default_locale
        end

        req.params['locale'] ||= locale
        ::I18n.locale = locale
        @app.call env
      end
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
faalis-2.2.0.pre.rc1 lib/faalis/middlewares/locale.rb
faalis-2.2.1 lib/faalis/middlewares/locale.rb
faalis-2.2.0 lib/faalis/middlewares/locale.rb
faalis-2.1.1 lib/faalis/middlewares/locale.rb
faalis-2.1.0 lib/faalis/middlewares/locale.rb
faalis-2.0.8 lib/faalis/middlewares/locale.rb
faalis-2.0.7 lib/faalis/middlewares/locale.rb
faalis-2.0.5 lib/faalis/middlewares/locale.rb
faalis-2.0.4 lib/faalis/middlewares/locale.rb
faalis-2.0.3 lib/faalis/middlewares/locale.rb
faalis-2.0.1 lib/faalis/middlewares/locale.rb
faalis-2.0.0 lib/faalis/middlewares/locale.rb
faalis-2.0.0.rc6 lib/faalis/middlewares/locale.rb
faalis-2.0.0.rc5 lib/faalis/middlewares/locale.rb
faalis-2.0.0.rc4 lib/faalis/middlewares/locale.rb
faalis-2.0.0.rc3 lib/faalis/middlewares/locale.rb
faalis-2.0.0.rc2 lib/faalis/middlewares/locale.rb
faalis-1.0.0 lib/faalis/middlewares/locale.rb
faalis-1.0.0.alpha4 lib/faalis/middlewares/locale.rb
faalis-1.0.0.alpha3 lib/faalis/middlewares/locale.rb