action_args 2.6.0 → 2.7.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8be56bb5bd7e6183a1f68f1cfeb7baa5da32287d11a50dddc53248561755ee1c
4
- data.tar.gz: 14b0d9da9608f4d0cdc465039d202eb35eabb2abe7471f12cdf28af205d0bd01
3
+ metadata.gz: 6622f79d42d59b8e4ac5da4090a0f135246157e38db10662c20bc17269fa343a
4
+ data.tar.gz: 1e20928a79311c79a5cab6028956519a21477c567ecd0f3b7c41c95919fa7043
5
5
  SHA512:
6
- metadata.gz: 4a112b0b811700d98a8f5c65958d1f9566b0401bcb885bcd160f2d6d7fdcbbc47b55b72e8b3258f9f3c6a461e3256e5d4c97409fe2ccc3373fbdb2deb5db55d4
7
- data.tar.gz: d10fdf287ee66df67eee06cfd9c515bbaab7567cac69a84dbbdf11732ca86609ecafc7d437e3e2c89dff9b4001f9757edc4887061cc5d0c3d606d68629850ed6
6
+ metadata.gz: 40ed64f0cacf2a3c787c164967804a00f5644a575231da58274605386ff3cfdf1a00a8866b2f509106940352e90abcd130298c0a654ccaabc6dfef614b6497fc
7
+ data.tar.gz: 8cf743239b588cdf6f4af6175b3218679d78b96ad433993b14c3b4c72b2ff31934d22e9fa16a36b5f2155dd9de7b920cfdf0ffb017666fa32338e81b21152025
@@ -0,0 +1,88 @@
1
+ name: build
2
+
3
+ on: [push, pull_request]
4
+
5
+ jobs:
6
+ build:
7
+ strategy:
8
+ matrix:
9
+ include:
10
+ - ruby_version: ruby-head
11
+ gemfile: gemfiles/rails_edge.gemfile
12
+ allow_failures: 'true'
13
+ - ruby_version: '3.0'
14
+ gemfile: gemfiles/rails_70.gemfile
15
+ allow_failures: 'true'
16
+ - ruby_version: '3.0'
17
+ gemfile: gemfiles/rails_61.gemfile
18
+ allow_failures: 'true'
19
+
20
+ - ruby_version: '3.0'
21
+ gemfile: gemfiles/rails_edge.gemfile
22
+ allow_failures: 'true'
23
+ - ruby_version: '3.0'
24
+ gemfile: gemfiles/rails_70.gemfile
25
+ - ruby_version: '3.0'
26
+ gemfile: gemfiles/rails_61.gemfile
27
+ - ruby_version: '3.0'
28
+ gemfile: gemfiles/rails_60.gemfile
29
+
30
+ - ruby_version: jruby
31
+ gemfile: gemfiles/rails_61.gemfile
32
+ allow_failures: 'true'
33
+ - ruby_version: jruby
34
+ gemfile: gemfiles/rails_70.gemfile
35
+ allow_failures: 'true'
36
+
37
+ - ruby_version: '2.7'
38
+ gemfile: gemfiles/rails_edge.gemfile
39
+ allow_failures: 'true'
40
+ - ruby_version: '2.7'
41
+ gemfile: gemfiles/rails_70.gemfile
42
+ - ruby_version: '2.7'
43
+ gemfile: gemfiles/rails_61.gemfile
44
+
45
+ - ruby_version: '2.6'
46
+ gemfile: gemfiles/rails_61.gemfile
47
+ - ruby_version: '2.6'
48
+ gemfile: gemfiles/rails_52.gemfile
49
+ - ruby_version: '2.6'
50
+ gemfile: gemfiles/rails_51.gemfile
51
+ - ruby_version: '2.6'
52
+ gemfile: gemfiles/rails_50.gemfile
53
+
54
+ - ruby_version: '2.5'
55
+ gemfile: gemfiles/rails_61.gemfile
56
+ - ruby_version: '2.5'
57
+ gemfile: gemfiles/rails_52.gemfile
58
+
59
+ - ruby_version: '2.4'
60
+ gemfile: gemfiles/rails_52.gemfile
61
+
62
+ - ruby_version: '2.3'
63
+ gemfile: gemfiles/rails_52.gemfile
64
+
65
+ - ruby_version: '2.2'
66
+ gemfile: gemfiles/rails_42.gemfile
67
+ - ruby_version: '2.2'
68
+ gemfile: gemfiles/rails_41.gemfile
69
+
70
+ - ruby_version: '2.1'
71
+ gemfile: gemfiles/rails_42.gemfile
72
+
73
+ runs-on: ubuntu-latest
74
+
75
+ env:
76
+ BUNDLE_GEMFILE: ${{ matrix.gemfile }}
77
+
78
+ steps:
79
+ - uses: actions/checkout@v2
80
+
81
+ - uses: ruby/setup-ruby@v1
82
+ with:
83
+ ruby-version: ${{ matrix.ruby_version }}
84
+ bundler-cache: true
85
+ continue-on-error: ${{ matrix.allow_failures == 'true' }}
86
+
87
+ - run: bundle exec rake
88
+ continue-on-error: ${{ matrix.allow_failures == 'true' }}
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # action_args
2
- [![Build Status](https://travis-ci.org/asakusarb/action_args.svg?branch=master)](https://travis-ci.org/asakusarb/action_args)
2
+ [![Build Status](https://github.com/asakusarb/action_args/actions/workflows/main.yml/badge.svg)](https://github.com/asakusarb/action_args/actions/actions)
3
3
 
4
4
  Controller action arguments parameterizer for Rails
5
5
 
data/Rakefile CHANGED
@@ -10,22 +10,4 @@ Rake::TestTask.new do |t|
10
10
  t.verbose = true
11
11
  end
12
12
 
13
- task :default => 'test:all'
14
-
15
- namespace :test do
16
- %w(rails_41 rails_42 rails_edge).each do |gemfile|
17
- desc "Run Tests against #{gemfile}"
18
- task gemfile do
19
- sh "BUNDLE_GEMFILE='gemfiles/#{gemfile}.gemfile' bundle --quiet"
20
- sh "BUNDLE_GEMFILE='gemfiles/#{gemfile}.gemfile' bundle exec rake -t test"
21
- end
22
- end
23
-
24
- desc 'Run Tests against all Rails versions'
25
- task :all do
26
- %w(rails_41 rails_42 rails_edge).each do |gemfile|
27
- sh "BUNDLE_GEMFILE='gemfiles/#{gemfile}.gemfile' bundle --quiet"
28
- sh "BUNDLE_GEMFILE='gemfiles/#{gemfile}.gemfile' bundle exec rake -t test"
29
- end
30
- end
31
- end
13
+ task default: :test
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ gem 'rails', '~> 7.0.0'
6
+ gem 'net-smtp'
7
+ gem 'selenium-webdriver'
8
+
9
+ gemspec path: '../'
10
+
11
+ platforms :ruby do
12
+ gem 'sqlite3'
13
+ end
14
+
15
+ platforms :jruby do
16
+ gem 'activerecord-jdbcsqlite3-adapter'
17
+ end
@@ -7,6 +7,7 @@ git_source(:github) do |repo_name|
7
7
  end
8
8
 
9
9
  gem 'rails', github: 'rails/rails'
10
+ gem 'net-smtp'
10
11
  gem 'selenium-webdriver'
11
12
 
12
13
  gemspec :path => '../'
@@ -4,73 +4,81 @@ using ActionArgs::ParamsHandler
4
4
 
5
5
  module ActionArgs
6
6
  module ActiveSupport
7
- # For Rails >= 5.1
8
- module CallbackParameterizer
9
- # Extending AS::Callbacks::Callback's `make_lambda` not just to call specified
10
- # method but to call the method with method parameters taken from `params`.
11
- # This would happen only when
12
- # * the target object is_a ActionController object
13
- # * the filter was not defined via lambda
14
- def make_lambda
15
- lambda do |target, value, &block|
16
- target, block, method, *arguments = expand(target, value, block)
17
-
18
- if (ActionController::Base === target) && (method != :instance_exec) && arguments.empty?
19
- target.strengthen_params! method
20
- arguments, keyword_arguments = target.extract_method_arguments_from_params method
21
- if keyword_arguments.any?
22
- target.send(method, *arguments, **keyword_arguments, &block)
23
- else
24
- target.send(method, *arguments, &block)
7
+ if Rails::VERSION::MAJOR >= 7
8
+ module CallTemplate
9
+ module MethodCallParameterizer
10
+ def make_lambda
11
+ lambda do |target, value, &block|
12
+ if ActionController::Base === target
13
+ target.strengthen_params! @method_name
14
+ arguments, keyword_arguments = target.extract_method_arguments_from_params @method_name
15
+ if keyword_arguments.any?
16
+ target.send(@method_name, *arguments, **keyword_arguments, &block)
17
+ else
18
+ target.send(@method_name, *arguments, &block)
19
+ end
20
+ else
21
+ lambda do |target, value, &block|
22
+ target.send(@method_name, &block)
23
+ end
24
+ end
25
25
  end
26
- else
27
- target.send(method, *arguments, &block)
28
26
  end
29
27
  end
30
28
  end
31
- end
29
+ ::ActiveSupport::Callbacks::CallTemplate::MethodCall.prepend ActionArgs::ActiveSupport::CallTemplate::MethodCallParameterizer
30
+ elsif Rails.version >= '5.1'
31
+ module CallbackParameterizer
32
+ # Extending AS::Callbacks::Callback's `make_lambda` not just to call specified
33
+ # method but to call the method with method parameters taken from `params`.
34
+ # This would happen only when
35
+ # * the target object is_a ActionController object
36
+ # * the filter was not defined via lambda
37
+ def make_lambda
38
+ lambda do |target, value, &block|
39
+ target, block, method, *arguments = expand(target, value, block)
32
40
 
33
- # For Rails 4 & 5.0
34
- module CallbackParameterizerLegacy
35
- # Extending AS::Callbacks::Callback's `make_lambda` not just to call specified
36
- # method but to call the method with method parameters taken from `params`.
37
- # This would happen only when
38
- # * the filter was defined in Symbol form
39
- # * the target object is_a ActionController object
40
- def make_lambda(filter)
41
- if Symbol === filter
42
- lambda do |target, _, &blk|
43
- if ActionController::Base === target
44
- target.strengthen_params! filter
45
- values, kwargs_values = target.extract_method_arguments_from_params filter
46
- values << kwargs_values if kwargs_values.any?
47
- target.send filter, *values, &blk
41
+ if (ActionController::Base === target) && (method != :instance_exec) && arguments.empty?
42
+ target.strengthen_params! method
43
+ arguments, keyword_arguments = target.extract_method_arguments_from_params method
44
+ if keyword_arguments.any?
45
+ target.send(method, *arguments, **keyword_arguments, &block)
46
+ else
47
+ target.send(method, *arguments, &block)
48
+ end
48
49
  else
49
- target.send filter, &blk
50
+ target.send(method, *arguments, &block)
50
51
  end
51
52
  end
52
- else
53
- super
54
53
  end
55
54
  end
56
- end
57
- end
58
- end
59
-
60
- if Rails.version >= '5.1'
61
- module ActiveSupport
62
- module Callbacks
63
- class CallTemplate
64
- prepend ActionArgs::ActiveSupport::CallbackParameterizer
65
- end
66
- end
67
- end
68
- else
69
- module ActiveSupport
70
- module Callbacks
71
- class Callback
72
- prepend ActionArgs::ActiveSupport::CallbackParameterizerLegacy
55
+ ::ActiveSupport::Callbacks::CallTemplate.prepend ActionArgs::ActiveSupport::CallbackParameterizer
56
+ else
57
+ # For Rails 4 & 5.0
58
+ module CallbackParameterizerLegacy
59
+ # Extending AS::Callbacks::Callback's `make_lambda` not just to call specified
60
+ # method but to call the method with method parameters taken from `params`.
61
+ # This would happen only when
62
+ # * the filter was defined in Symbol form
63
+ # * the target object is_a ActionController object
64
+ def make_lambda(filter)
65
+ if Symbol === filter
66
+ lambda do |target, _, &blk|
67
+ if ActionController::Base === target
68
+ target.strengthen_params! filter
69
+ values, kwargs_values = target.extract_method_arguments_from_params filter
70
+ values << kwargs_values if kwargs_values.any?
71
+ target.send filter, *values, &blk
72
+ else
73
+ target.send filter, &blk
74
+ end
75
+ end
76
+ else
77
+ super
78
+ end
79
+ end
73
80
  end
81
+ ::ActiveSupport::Callbacks::Callback.prepend ActionArgs::ActiveSupport::CallbackParameterizerLegacy
74
82
  end
75
83
  end
76
84
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ActionArgs
4
- VERSION = '2.6.0'
4
+ VERSION = '2.7.0'
5
5
  end
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: 2.6.0
4
+ version: 2.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Akira Matsuda
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-05 00:00:00.000000000 Z
11
+ date: 2021-12-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -59,8 +59,8 @@ executables: []
59
59
  extensions: []
60
60
  extra_rdoc_files: []
61
61
  files:
62
+ - ".github/workflows/main.yml"
62
63
  - ".gitignore"
63
- - ".travis.yml"
64
64
  - CONTRIBUTING.md
65
65
  - Gemfile
66
66
  - MIT-LICENSE
@@ -74,6 +74,7 @@ files:
74
74
  - gemfiles/rails_52.gemfile
75
75
  - gemfiles/rails_60.gemfile
76
76
  - gemfiles/rails_61.gemfile
77
+ - gemfiles/rails_70.gemfile
77
78
  - gemfiles/rails_edge.gemfile
78
79
  - lib/action_args.rb
79
80
  - lib/action_args/abstract_controller.rb
@@ -102,7 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
102
103
  - !ruby/object:Gem::Version
103
104
  version: '0'
104
105
  requirements: []
105
- rubygems_version: 3.2.15
106
+ rubygems_version: 3.3.0.dev
106
107
  signing_key:
107
108
  specification_version: 4
108
109
  summary: Controller action arguments parameterizer for Rails 4+ & Ruby 2.0+
data/.travis.yml DELETED
@@ -1,78 +0,0 @@
1
- script: 'bundle exec rake -t test'
2
- language: ruby
3
-
4
- cache: bundler
5
-
6
- before_install:
7
- - "ruby -e 'exit RUBY_VERSION.to_f >= 2.3' && gem up --system || (gem i rubygems-update -v '<3' && update_rubygems)"
8
- - gem up bundler
9
-
10
- # rvm:
11
- # - 2.6.7
12
- # - 2.5.9
13
- # - 2.4.10
14
- # - 2.3.8
15
- # - 2.2.10
16
- # - 2.1.10
17
- # - 2.0.0
18
- # - ruby-head
19
- # gemfile:
20
- # - gemfiles/rails_52.gemfile
21
- # - gemfiles/rails_51.gemfile
22
- # - gemfiles/rails_50.gemfile
23
- # - gemfiles/rails_42.gemfile
24
- # - gemfiles/rails_41.gemfile
25
- # - gemfiles/rails_edge.gemfile
26
-
27
- matrix:
28
- include:
29
- - rvm: 3.0.1
30
- gemfile: gemfiles/rails_61.gemfile
31
- - rvm: 3.0.1
32
- gemfile: gemfiles/rails_60.gemfile
33
- - rvm: 3.0.1
34
- gemfile: gemfiles/rails_edge.gemfile
35
- - rvm: 2.7.3
36
- gemfile: gemfiles/rails_61.gemfile
37
- - rvm: 2.7.3
38
- gemfile: gemfiles/rails_edge.gemfile
39
- - rvm: 2.6.7
40
- gemfile: gemfiles/rails_61.gemfile
41
- - rvm: 2.6.7
42
- gemfile: gemfiles/rails_52.gemfile
43
- - rvm: 2.6.7
44
- gemfile: gemfiles/rails_51.gemfile
45
- - rvm: 2.6.7
46
- gemfile: gemfiles/rails_50.gemfile
47
- - rvm: 2.5.9
48
- gemfile: gemfiles/rails_61.gemfile
49
- - rvm: 2.5.9
50
- gemfile: gemfiles/rails_52.gemfile
51
- - rvm: 2.4.10
52
- gemfile: gemfiles/rails_52.gemfile
53
- - rvm: 2.3.8
54
- gemfile: gemfiles/rails_52.gemfile
55
- - rvm: 2.2.10
56
- gemfile: gemfiles/rails_42.gemfile
57
- - rvm: 2.2.10
58
- gemfile: gemfiles/rails_41.gemfile
59
- - rvm: 2.1.10
60
- gemfile: gemfiles/rails_42.gemfile
61
- - rvm: 2.0.0
62
- gemfile: gemfiles/rails_42.gemfile
63
-
64
- - rvm: ruby-head
65
- gemfile: gemfiles/rails_61.gemfile
66
- - rvm: ruby-head
67
- gemfile: gemfiles/rails_edge.gemfile
68
-
69
- - rvm: jruby-9.2.17.0
70
- gemfile: gemfiles/rails_52.gemfile
71
- - rvm: rubinius-3
72
- gemfile: gemfiles/rails_52.gemfile
73
-
74
- allow_failures:
75
- - rvm: ruby-head
76
- - rvm: jruby-9.2.17.0
77
- - rvm: rubinius-3
78
- - gemfile: gemfiles/rails_edge.gemfile