Sha256: 909343d8c3a04093e383a365ce6d5f8f455478a7c11a81ae343e14aa3760b35f

Contents?: true

Size: 1.16 KB

Versions: 18

Compression:

Stored size: 1.16 KB

Contents

module PgEngine
  # Setea el tid
  #
  # Se usa en controllers, y en todo contexto dentro de la webapp
  # NO se usa en Mailers, ya que no requieren tid
  module DefaultUrlOptions
    # Aparentemente es necesario definir url_options cuando los parámetros
    # pueden cambiar a lo largo del lifecycle de la request
    def url_options
      base = if defined? super
               super
             else
               {}
             end

      base.merge(_brand_options_with_tid)
    end

    # Aunque parece intuitivo que se podría definir solamente url_options,
    # es importante que default_url_options también esté definido
    def default_url_options
      # Hay contextos en que está definido el método, como en los controllers
      # y otros en los que no, como la Navbar
      base = if defined? super
               super
             else
               {}
             end

      base.merge(_brand_options_with_tid)
    end

    def _brand_options_with_tid
      PgEngine.site_brand.default_url_options.merge(tid: _current_tid)
    end

    def _current_tid
      return unless Current.active_user_account

      Current.active_user_account.to_param
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
pg_rails-7.6.35 pg_engine/app/lib/pg_engine/default_url_options.rb
pg_rails-7.6.34 pg_engine/app/lib/pg_engine/default_url_options.rb
pg_rails-7.6.33 pg_engine/app/lib/pg_engine/default_url_options.rb
pg_rails-7.6.32 pg_engine/app/lib/pg_engine/default_url_options.rb
pg_rails-7.6.31 pg_engine/app/lib/pg_engine/default_url_options.rb
pg_rails-7.6.30 pg_engine/app/lib/pg_engine/default_url_options.rb
pg_rails-7.6.29 pg_engine/app/lib/pg_engine/default_url_options.rb
pg_rails-7.6.28 pg_engine/app/lib/pg_engine/default_url_options.rb
pg_rails-7.6.27 pg_engine/app/lib/pg_engine/default_url_options.rb
pg_rails-7.6.26 pg_engine/app/lib/pg_engine/default_url_options.rb
pg_rails-7.6.25 pg_engine/app/lib/pg_engine/default_url_options.rb
pg_rails-7.6.24 pg_engine/app/lib/pg_engine/default_url_options.rb
pg_rails-7.6.24.pre.5 pg_engine/app/lib/pg_engine/default_url_options.rb
pg_rails-7.6.24.pre.4 pg_engine/app/lib/pg_engine/default_url_options.rb
pg_rails-7.6.24.pre.3 pg_engine/app/lib/pg_engine/default_url_options.rb
pg_rails-7.6.23 pg_engine/app/lib/pg_engine/default_url_options.rb
pg_rails-7.6.22 pg_engine/app/lib/pg_engine/default_url_options.rb
pg_rails-7.6.22.pre.3 pg_engine/app/lib/pg_engine/default_url_options.rb