action_args 1.5.2 → 1.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +0 -2
- data/Rakefile +2 -2
- data/lib/action_args.rb +5 -1
- data/lib/action_args/callbacks.rb +17 -12
- data/lib/action_args/legacy/callbacks.rb +71 -0
- data/lib/action_args/version.rb +1 -1
- data/lib/generators/rails/templates/controller.rb +0 -2
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1807030ec2fd680d15c088b5c5be6832d1418095
|
4
|
+
data.tar.gz: ee7b83c11cc9c38368a0c33205aa15bbf8aa7d5a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b8897628771fe3b47a501c72a488d537e32dc817a0798cf7196158037cc4233f8c57e2ab49cdbe8e1a77cbb357664d1c44a7cddca76533515839a476630a68f0
|
7
|
+
data.tar.gz: 6fa4f61b8d08f9eefd92ed02ebdf485fd4b5156633dd308917b97e54d60bae98ac2dd0fd13a274e3f9d7223a0a10b7cec91b857a9f3b71e41c585ad8a31cdeb0
|
data/README.md
CHANGED
@@ -155,8 +155,6 @@ Thus, by hitting the scaffold generator command like this:
|
|
155
155
|
The following elegant controller code will be generated:
|
156
156
|
|
157
157
|
```ruby
|
158
|
-
# coding: utf-8
|
159
|
-
|
160
158
|
class UsersController < ApplicationController
|
161
159
|
before_action :set_user, only: [:show, :edit, :update, :destroy]
|
162
160
|
permits :name, :age, :email
|
data/Rakefile
CHANGED
@@ -11,7 +11,7 @@ end
|
|
11
11
|
task :default => 'spec:all'
|
12
12
|
|
13
13
|
namespace :spec do
|
14
|
-
%w(rails_32 rails_40 rails_41).each do |gemfile|
|
14
|
+
%w(rails_32 rails_40 rails_41 rails_42).each do |gemfile|
|
15
15
|
desc "Run Tests against #{gemfile}"
|
16
16
|
task gemfile do
|
17
17
|
sh "BUNDLE_GEMFILE='gemfiles/#{gemfile}.gemfile' bundle --quiet"
|
@@ -21,7 +21,7 @@ namespace :spec do
|
|
21
21
|
|
22
22
|
desc 'Run Tests against all Rails versions'
|
23
23
|
task :all do
|
24
|
-
%w(rails_32 rails_40 rails_41).each do |gemfile|
|
24
|
+
%w(rails_32 rails_40 rails_41 rails_42).each do |gemfile|
|
25
25
|
sh "BUNDLE_GEMFILE='gemfiles/#{gemfile}.gemfile' bundle --quiet"
|
26
26
|
sh "BUNDLE_GEMFILE='gemfiles/#{gemfile}.gemfile' bundle exec rake spec"
|
27
27
|
end
|
data/lib/action_args.rb
CHANGED
@@ -4,7 +4,11 @@ rescue LoadError
|
|
4
4
|
end
|
5
5
|
require 'action_args/params_handler'
|
6
6
|
require 'action_args/abstract_controller'
|
7
|
-
|
7
|
+
if ActionArgs.respond_to? :prepend
|
8
|
+
require 'action_args/callbacks'
|
9
|
+
else
|
10
|
+
require 'action_args/legacy/callbacks'
|
11
|
+
end
|
8
12
|
|
9
13
|
module ActionArgs
|
10
14
|
class Railtie < ::Rails::Railtie
|
@@ -1,13 +1,13 @@
|
|
1
|
-
module
|
2
|
-
module
|
3
|
-
|
1
|
+
module ActionArgs
|
2
|
+
module ActiveSupport
|
3
|
+
module CallbackParameterizer
|
4
4
|
if Rails.version > '4.1'
|
5
5
|
# Extending AS::Callbacks::Callback's `make_lambda` not just to call specified
|
6
6
|
# method but to call the method with method parameters taken from `params`.
|
7
7
|
# This would happen only when
|
8
8
|
# * the filter was defined in Symbol form
|
9
9
|
# * the target object is_a ActionController object
|
10
|
-
def
|
10
|
+
def make_lambda(filter)
|
11
11
|
if Symbol === filter
|
12
12
|
lambda do |target, _, &blk|
|
13
13
|
if ActionController::Base === target
|
@@ -21,13 +21,12 @@ module ActiveSupport
|
|
21
21
|
end
|
22
22
|
end
|
23
23
|
else
|
24
|
-
|
24
|
+
super
|
25
25
|
end
|
26
26
|
end
|
27
|
-
alias_method_chain :make_lambda, :method_parameters
|
28
27
|
|
29
28
|
elsif Rails.version > '4.0'
|
30
|
-
def
|
29
|
+
def apply(code)
|
31
30
|
if (Symbol === @filter) && (@klass < ActionController::Base)
|
32
31
|
method_body = <<-FILTER
|
33
32
|
meth = method :#{@filter}
|
@@ -42,12 +41,11 @@ module ActiveSupport
|
|
42
41
|
@filter = method_body.chomp
|
43
42
|
end
|
44
43
|
end
|
45
|
-
|
44
|
+
super
|
46
45
|
end
|
47
|
-
alias_method_chain :apply, :method_parameters
|
48
46
|
|
49
47
|
else # Rails 3.2
|
50
|
-
def
|
48
|
+
def start(key=nil, object=nil)
|
51
49
|
if (Symbol === @filter) && (@klass < ActionController::Base)
|
52
50
|
method_body = <<-FILTER
|
53
51
|
meth = method :#{@filter}
|
@@ -62,10 +60,17 @@ module ActiveSupport
|
|
62
60
|
@filter = method_body.chomp
|
63
61
|
end
|
64
62
|
end
|
65
|
-
|
63
|
+
super
|
66
64
|
end
|
67
|
-
alias_method_chain :start, :method_parameters
|
68
65
|
end
|
69
66
|
end
|
70
67
|
end
|
71
68
|
end
|
69
|
+
|
70
|
+
module ActiveSupport
|
71
|
+
module Callbacks
|
72
|
+
class Callback
|
73
|
+
prepend ActionArgs::ActiveSupport::CallbackParameterizer
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
module ActiveSupport
|
2
|
+
module Callbacks
|
3
|
+
class Callback
|
4
|
+
if Rails.version > '4.1'
|
5
|
+
# Extending AS::Callbacks::Callback's `make_lambda` not just to call specified
|
6
|
+
# method but to call the method with method parameters taken from `params`.
|
7
|
+
# This would happen only when
|
8
|
+
# * the filter was defined in Symbol form
|
9
|
+
# * the target object is_a ActionController object
|
10
|
+
def make_lambda_with_method_parameters(filter)
|
11
|
+
if Symbol === filter
|
12
|
+
lambda do |target, _, &blk|
|
13
|
+
if ActionController::Base === target
|
14
|
+
meth = target.method filter
|
15
|
+
method_parameters = meth.parameters
|
16
|
+
ActionArgs::ParamsHandler.strengthen_params!(target.class, method_parameters, target.params)
|
17
|
+
values = ActionArgs::ParamsHandler.extract_method_arguments_from_params method_parameters, target.params
|
18
|
+
target.send filter, *values, &blk
|
19
|
+
else
|
20
|
+
target.send filter, &blk
|
21
|
+
end
|
22
|
+
end
|
23
|
+
else
|
24
|
+
make_lambda_without_method_parameters filter
|
25
|
+
end
|
26
|
+
end
|
27
|
+
alias_method_chain :make_lambda, :method_parameters
|
28
|
+
|
29
|
+
elsif Rails.version > '4.0'
|
30
|
+
def apply_with_method_parameters(code)
|
31
|
+
if (Symbol === @filter) && (@klass < ActionController::Base)
|
32
|
+
method_body = <<-FILTER
|
33
|
+
meth = method :#{@filter}
|
34
|
+
method_parameters = meth.parameters
|
35
|
+
ActionArgs::ParamsHandler.strengthen_params!(self.class, method_parameters, params)
|
36
|
+
values = ActionArgs::ParamsHandler.extract_method_arguments_from_params method_parameters, params
|
37
|
+
send :#{@filter}, *values
|
38
|
+
FILTER
|
39
|
+
if @kind == :before
|
40
|
+
@filter = "begin\n#{method_body}\nend"
|
41
|
+
else
|
42
|
+
@filter = method_body.chomp
|
43
|
+
end
|
44
|
+
end
|
45
|
+
apply_without_method_parameters code
|
46
|
+
end
|
47
|
+
alias_method_chain :apply, :method_parameters
|
48
|
+
|
49
|
+
else # Rails 3.2
|
50
|
+
def start_with_method_parameters(key=nil, object=nil)
|
51
|
+
if (Symbol === @filter) && (@klass < ActionController::Base)
|
52
|
+
method_body = <<-FILTER
|
53
|
+
meth = method :#{@filter}
|
54
|
+
method_parameters = meth.parameters
|
55
|
+
ActionArgs::ParamsHandler.strengthen_params!(self.class, method_parameters, params)
|
56
|
+
values = ActionArgs::ParamsHandler.extract_method_arguments_from_params method_parameters, params
|
57
|
+
send :#{@filter}, *values
|
58
|
+
FILTER
|
59
|
+
if @kind == :before
|
60
|
+
@filter = "begin\n#{method_body}\nend"
|
61
|
+
else
|
62
|
+
@filter = method_body.chomp
|
63
|
+
end
|
64
|
+
end
|
65
|
+
start_without_method_parameters key, object
|
66
|
+
end
|
67
|
+
alias_method_chain :start, :method_parameters
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
data/lib/action_args/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: action_args
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.
|
4
|
+
version: 1.5.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Akira Matsuda
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-05-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -80,6 +80,7 @@ files:
|
|
80
80
|
- lib/action_args.rb
|
81
81
|
- lib/action_args/abstract_controller.rb
|
82
82
|
- lib/action_args/callbacks.rb
|
83
|
+
- lib/action_args/legacy/callbacks.rb
|
83
84
|
- lib/action_args/params_handler.rb
|
84
85
|
- lib/action_args/version.rb
|
85
86
|
- lib/generators/action_args/rspec/scaffold/scaffold_generator.rb
|