use before_action for rails 5, maintain backwards compat.
This commit is contained in:
parent
6f22014650
commit
5ed366de82
|
@ -139,7 +139,7 @@ Usage
|
|||
@widget.impressionist_count(:message=>"pageview", :filter=>:all)
|
||||
|
||||
Logging impressions for authenticated users happens automatically. If you have
|
||||
a current_user helper or use @current_user in your before_filter to set your
|
||||
a current_user helper or use @current_user in your before_filter (or before_action in Rails >= 5.0) to set your
|
||||
authenticated user, current_user.id will be written to the user_id field in the
|
||||
impressions table.
|
||||
|
||||
|
|
|
@ -3,13 +3,21 @@ require 'digest/sha2'
|
|||
module ImpressionistController
|
||||
module ClassMethods
|
||||
def impressionist(opts={})
|
||||
before_filter { |c| c.impressionist_subapp_filter(opts) }
|
||||
if Rails::VERSION::MAJOR >= 5
|
||||
before_action { |c| c.impressionist_subapp_filter(opts) }
|
||||
else
|
||||
before_filter { |c| c.impressionist_subapp_filter(opts) }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
module InstanceMethods
|
||||
def self.included(base)
|
||||
base.before_filter :impressionist_app_filter
|
||||
if Rails::VERSION::MAJOR >= 5
|
||||
base.before_action :impressionist_app_filter
|
||||
else
|
||||
base.before_filter :impressionist_app_filter
|
||||
end
|
||||
end
|
||||
|
||||
def impressionist(obj,message=nil,opts={})
|
||||
|
|
|
@ -1,8 +1,12 @@
|
|||
class ApplicationController < ActionController::Base
|
||||
protect_from_forgery
|
||||
before_filter :secondary_before_filter
|
||||
if Rails::VERSION::MAJOR >= 5
|
||||
before_action :secondary_before_action
|
||||
else
|
||||
before_filter :secondary_before_action
|
||||
end
|
||||
|
||||
def secondary_before_filter
|
||||
@test_secondary_before_filter = "this is a test"
|
||||
def secondary_before_action
|
||||
@test_secondary_before_action = "this is a test"
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
class ArticlesController < ApplicationController
|
||||
before_filter :test_current_user_var
|
||||
if Rails::VERSION::MAJOR >= 5
|
||||
before_action :test_current_user_var
|
||||
else
|
||||
before_filter :test_current_user_var
|
||||
end
|
||||
|
||||
def test_current_user_var
|
||||
if session[:user_id]
|
||||
|
|
|
@ -23,7 +23,7 @@ TestApp::Application.configure do
|
|||
config.action_dispatch.best_standards_support = :builtin
|
||||
|
||||
# Raise exception on mass assignment protection for Active Record models
|
||||
config.active_record.mass_assignment_sanitizer = :strict
|
||||
# config.active_record.mass_assignment_sanitizer = :strict
|
||||
|
||||
# Log the query plan for queries taking more than this (works
|
||||
# with SQLite, MySQL, and PostgreSQL)
|
||||
|
|
|
@ -30,7 +30,7 @@ TestApp::Application.configure do
|
|||
config.action_mailer.delivery_method = :test
|
||||
|
||||
# Raise exception on mass assignment protection for Active Record models
|
||||
config.active_record.mass_assignment_sanitizer = :strict
|
||||
# config.active_record.mass_assignment_sanitizer = :strict
|
||||
|
||||
# Print deprecation notices to the stderr
|
||||
config.active_support.deprecation = :stderr
|
||||
|
|
|
@ -26,7 +26,7 @@ describe ArticlesController do
|
|||
Article.first.impressions.last.action_name.should eq "show"
|
||||
end
|
||||
|
||||
it "should log the user_id if user is authenticated (@current_user before_filter method)" do
|
||||
it "should log the user_id if user is authenticated (@current_user before_action method)" do
|
||||
session[:user_id] = 123
|
||||
get "show", :id=> 1
|
||||
Article.first.impressions.last.user_id.should eq 123
|
||||
|
@ -72,5 +72,3 @@ describe ArticlesController do
|
|||
Impression.last.referrer.should eq nil
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ describe Impressionist do
|
|||
expect(ApplicationController).to respond_to(method)
|
||||
end
|
||||
|
||||
it "should include the before_filter method in ApplicationController" do
|
||||
it "should include the before_action method in ApplicationController" do
|
||||
filters = ApplicationController._process_action_callbacks.select { |c| c.kind == :before }
|
||||
filters.collect{|filter|filter.filter}.include?(:impressionist_app_filter).should be_true
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue