Sha256: 97f484182c4d18916bc23231427b23547b725db058f6d1641a59ef2573d644f6
Contents?: true
Size: 1.23 KB
Versions: 11
Compression:
Stored size: 1.23 KB
Contents
module Unpoly module Rails ## # This adds two methods `#up` and `#up?` to all controllers, # helpers and views, allowing the server to inspect the current request # for Unpoly-related concerns such as "is this a page fragment update?". module Controller def self.prepended(base) base.helper_method :up, :up?, :unpoly, :unpoly? if base.respond_to?(:after_action) base.after_action { up.after_action } else base.after_filter { up.after_action } end end ## # TODO: Docs def up @up_change ||= Change.new(self) end alias_method :unpoly, :up ## # :method: up? # Returns whether the current request is an # [page fragment update](https://unpoly.com/up.replace) triggered by an # Unpoly frontend. delegate :up?, :unpoly?, to: :up ## # TODO: Docs def redirect_to(target, *args) up.no_vary do if up? target = url_for(target) target = up.url_with_field_values(target) end super(target, *args) end end end end end ActiveSupport.on_load(:action_controller_base) do prepend Unpoly::Rails::Controller end
Version data entries
11 entries across 11 versions & 1 rubygems