activity_notification 2.1.4 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +6 -16
  3. data/CHANGELOG.md +14 -0
  4. data/README.md +1 -1
  5. data/activity_notification.gemspec +1 -1
  6. data/app/controllers/activity_notification/notifications_controller.rb +0 -20
  7. data/bin/bundle_update.sh +0 -1
  8. data/lib/activity_notification/common.rb +11 -3
  9. data/lib/activity_notification/controllers/common_controller.rb +1 -17
  10. data/lib/activity_notification/models/concerns/notifiable.rb +1 -1
  11. data/lib/activity_notification/models/concerns/target.rb +5 -9
  12. data/lib/activity_notification/orm/active_record.rb +1 -1
  13. data/lib/activity_notification/orm/active_record/notification.rb +3 -3
  14. data/lib/activity_notification/orm/dynamoid/notification.rb +1 -1
  15. data/lib/activity_notification/orm/mongoid/notification.rb +1 -1
  16. data/lib/activity_notification/renderable.rb +2 -2
  17. data/lib/activity_notification/roles/acts_as_notifiable.rb +11 -15
  18. data/lib/activity_notification/version.rb +1 -1
  19. data/lib/generators/templates/migrations/migration.rb +1 -1
  20. data/spec/channels/notification_api_channel_spec.rb +42 -44
  21. data/spec/channels/notification_api_with_devise_channel_spec.rb +57 -59
  22. data/spec/channels/notification_channel_spec.rb +41 -43
  23. data/spec/channels/notification_with_devise_channel_spec.rb +75 -77
  24. data/spec/concerns/common_spec.rb +25 -3
  25. data/spec/concerns/models/target_spec.rb +10 -12
  26. data/spec/concerns/renderable_spec.rb +5 -5
  27. data/spec/controllers/controller_spec_utility.rb +15 -51
  28. data/spec/generators/migration/migration_generator_spec.rb +2 -10
  29. data/spec/helpers/view_helpers_spec.rb +1 -1
  30. data/spec/optional_targets/action_cable_api_channel_spec.rb +21 -24
  31. data/spec/optional_targets/action_cable_channel_spec.rb +26 -29
  32. data/spec/rails_app/config/application.rb +2 -6
  33. data/spec/rails_app/config/environments/test.rb +2 -11
  34. data/spec/spec_helper.rb +1 -5
  35. metadata +5 -8
  36. data/gemfiles/Gemfile.rails-4.2 +0 -24
  37. data/spec/support/patch_rails_42_action_controller_test_response.rb +0 -11
@@ -1,50 +1,48 @@
1
- if Rails::VERSION::MAJOR >= 5
2
- require 'channels/notification_channel_shared_examples'
3
-
4
- # @See https://github.com/palkan/action-cable-testing
5
- describe ActivityNotification::NotificationChannel, type: :channel do
6
- let(:test_target) { create(:user) }
7
- let(:target_type) { "User" }
8
- let(:typed_target_param) { "user_id" }
9
- let(:extra_params) { {} }
10
-
11
- context "when target.notification_action_cable_with_devise? returns true" do
12
- before do
13
- @user_notification_action_cable_with_devise = User._notification_action_cable_with_devise
14
- User._notification_action_cable_with_devise = true
15
- end
16
-
17
- after do
18
- User._notification_action_cable_with_devise = @user_notification_action_cable_with_devise
19
- end
20
-
21
- it "rejects subscription even if target_type and target_id parameters are passed" do
22
- subscribe({ target_type: target_type, target_id: test_target.id })
23
- expect(subscription).to be_rejected
24
- expect {
25
- expect(subscription).to have_stream_from("#{ActivityNotification.config.notification_channel_prefix}_#{test_target.to_class_name}#{ActivityNotification.config.composite_key_delimiter}#{test_target.id}")
26
- }.to raise_error(/Must be subscribed!/)
27
- end
1
+ require 'channels/notification_channel_shared_examples'
2
+
3
+ # @See https://github.com/palkan/action-cable-testing
4
+ describe ActivityNotification::NotificationChannel, type: :channel do
5
+ let(:test_target) { create(:user) }
6
+ let(:target_type) { "User" }
7
+ let(:typed_target_param) { "user_id" }
8
+ let(:extra_params) { {} }
9
+
10
+ context "when target.notification_action_cable_with_devise? returns true" do
11
+ before do
12
+ @user_notification_action_cable_with_devise = User._notification_action_cable_with_devise
13
+ User._notification_action_cable_with_devise = true
28
14
  end
29
15
 
30
- context "when target.notification_action_cable_with_devise? returns false" do
31
- before do
32
- @user_notification_action_cable_with_devise = User._notification_action_cable_with_devise
33
- User._notification_action_cable_with_devise = false
34
- end
35
-
36
- after do
37
- User._notification_action_cable_with_devise = @user_notification_action_cable_with_devise
38
- end
16
+ after do
17
+ User._notification_action_cable_with_devise = @user_notification_action_cable_with_devise
18
+ end
39
19
 
40
- it "successfully subscribes with target_type and target_id parameters" do
41
- subscribe({ target_type: target_type, target_id: test_target.id })
42
- expect(subscription).to be_confirmed
20
+ it "rejects subscription even if target_type and target_id parameters are passed" do
21
+ subscribe({ target_type: target_type, target_id: test_target.id })
22
+ expect(subscription).to be_rejected
23
+ expect {
43
24
  expect(subscription).to have_stream_from("#{ActivityNotification.config.notification_channel_prefix}_#{test_target.to_class_name}#{ActivityNotification.config.composite_key_delimiter}#{test_target.id}")
44
- expect(subscription).to have_stream_from("activity_notification_channel_User##{test_target.id}")
45
- end
25
+ }.to raise_error(/Must be subscribed!/)
26
+ end
27
+ end
46
28
 
47
- it_behaves_like :notification_channel
29
+ context "when target.notification_action_cable_with_devise? returns false" do
30
+ before do
31
+ @user_notification_action_cable_with_devise = User._notification_action_cable_with_devise
32
+ User._notification_action_cable_with_devise = false
48
33
  end
34
+
35
+ after do
36
+ User._notification_action_cable_with_devise = @user_notification_action_cable_with_devise
37
+ end
38
+
39
+ it "successfully subscribes with target_type and target_id parameters" do
40
+ subscribe({ target_type: target_type, target_id: test_target.id })
41
+ expect(subscription).to be_confirmed
42
+ expect(subscription).to have_stream_from("#{ActivityNotification.config.notification_channel_prefix}_#{test_target.to_class_name}#{ActivityNotification.config.composite_key_delimiter}#{test_target.id}")
43
+ expect(subscription).to have_stream_from("activity_notification_channel_User##{test_target.id}")
44
+ end
45
+
46
+ it_behaves_like :notification_channel
49
47
  end
50
- end
48
+ end
@@ -1,99 +1,97 @@
1
- if Rails::VERSION::MAJOR >= 5
2
- require 'channels/notification_channel_shared_examples'
1
+ require 'channels/notification_channel_shared_examples'
3
2
 
4
- #TODO Make it more smart test method
5
- module ActivityNotification
6
- module Test
7
- class NotificationWithDeviseChannel < ::ActivityNotification::NotificationWithDeviseChannel
8
- @@custom_current_target = nil
9
-
10
- def set_custom_current_target(custom_current_target)
11
- @@custom_current_target = custom_current_target
12
- end
13
-
14
- def find_current_target(devise_type = nil)
15
- super(devise_type)
16
- rescue NoMethodError
17
- devise_type = (devise_type || @target.notification_devise_resource.class.name).to_s
18
- @@custom_current_target.is_a?(devise_type.to_model_class) ? @@custom_current_target : nil
19
- end
3
+ #TODO Make it more smart test method
4
+ module ActivityNotification
5
+ module Test
6
+ class NotificationWithDeviseChannel < ::ActivityNotification::NotificationWithDeviseChannel
7
+ @@custom_current_target = nil
8
+
9
+ def set_custom_current_target(custom_current_target)
10
+ @@custom_current_target = custom_current_target
11
+ end
12
+
13
+ def find_current_target(devise_type = nil)
14
+ super(devise_type)
15
+ rescue NoMethodError
16
+ devise_type = (devise_type || @target.notification_devise_resource.class.name).to_s
17
+ @@custom_current_target.is_a?(devise_type.to_model_class) ? @@custom_current_target : nil
20
18
  end
21
19
  end
22
20
  end
21
+ end
23
22
 
24
- # @See https://github.com/palkan/action-cable-testing
25
- describe ActivityNotification::Test::NotificationWithDeviseChannel, type: :channel do
26
- let(:test_user) { create(:confirmed_user) }
27
- let(:unauthenticated_user) { create(:confirmed_user) }
28
- let(:test_target) { create(:admin, user: test_user) }
29
- let(:target_type) { "Admin" }
30
- let(:typed_target_param) { "admin_id" }
31
- let(:extra_params) { { devise_type: :users } }
32
- let(:valid_session) {}
33
-
34
- #TODO Make it more smart test method
35
- #include Devise::Test::IntegrationHelpers
36
- def sign_in(current_target)
37
- described_class.new(ActionCable::Channel::ConnectionStub.new, {}).set_custom_current_target(current_target)
38
- end
23
+ # @See https://github.com/palkan/action-cable-testing
24
+ describe ActivityNotification::Test::NotificationWithDeviseChannel, type: :channel do
25
+ let(:test_user) { create(:confirmed_user) }
26
+ let(:unauthenticated_user) { create(:confirmed_user) }
27
+ let(:test_target) { create(:admin, user: test_user) }
28
+ let(:target_type) { "Admin" }
29
+ let(:typed_target_param) { "admin_id" }
30
+ let(:extra_params) { { devise_type: :users } }
31
+ let(:valid_session) {}
39
32
 
40
- before do
41
- @user_notification_action_cable_with_devise = User._notification_action_cable_with_devise
42
- User._notification_action_cable_with_devise = true
43
- end
33
+ #TODO Make it more smart test method
34
+ #include Devise::Test::IntegrationHelpers
35
+ def sign_in(current_target)
36
+ described_class.new(ActionCable::Channel::ConnectionStub.new, {}).set_custom_current_target(current_target)
37
+ end
44
38
 
45
- after do
46
- User._notification_action_cable_with_devise = @user_notification_action_cable_with_devise
47
- end
39
+ before do
40
+ @user_notification_action_cable_with_devise = User._notification_action_cable_with_devise
41
+ User._notification_action_cable_with_devise = true
42
+ end
48
43
 
49
- context "signed in with devise as authenticated user" do
50
- before do
51
- sign_in test_user
52
- end
53
-
54
- it_behaves_like :notification_channel
44
+ after do
45
+ User._notification_action_cable_with_devise = @user_notification_action_cable_with_devise
46
+ end
47
+
48
+ context "signed in with devise as authenticated user" do
49
+ before do
50
+ sign_in test_user
55
51
  end
52
+
53
+ it_behaves_like :notification_channel
54
+ end
56
55
 
57
- context "signed in with devise as unauthenticated user" do
58
- let(:target_params) { { target_type: target_type, devise_type: :users } }
56
+ context "signed in with devise as unauthenticated user" do
57
+ let(:target_params) { { target_type: target_type, devise_type: :users } }
59
58
 
60
- before do
61
- sign_in unauthenticated_user
62
- end
59
+ before do
60
+ sign_in unauthenticated_user
61
+ end
63
62
 
64
- it "rejects subscription" do
65
- subscribe(target_params.merge({ typed_target_param => test_target }))
66
- expect(subscription).to be_rejected
67
- expect {
68
- expect(subscription).to have_stream_from("#{ActivityNotification.config.notification_channel_prefix}_#{test_target.to_class_name}#{ActivityNotification.config.composite_key_delimiter}#{test_target.id}")
69
- }.to raise_error(/Must be subscribed!/)
70
- end
63
+ it "rejects subscription" do
64
+ subscribe(target_params.merge({ typed_target_param => test_target }))
65
+ expect(subscription).to be_rejected
66
+ expect {
67
+ expect(subscription).to have_stream_from("#{ActivityNotification.config.notification_channel_prefix}_#{test_target.to_class_name}#{ActivityNotification.config.composite_key_delimiter}#{test_target.id}")
68
+ }.to raise_error(/Must be subscribed!/)
71
69
  end
70
+ end
72
71
 
73
- context "unsigned in with devise" do
74
- let(:target_params) { { target_type: target_type, devise_type: :users } }
72
+ context "unsigned in with devise" do
73
+ let(:target_params) { { target_type: target_type, devise_type: :users } }
75
74
 
76
- it "rejects subscription" do
77
- subscribe(target_params.merge({ typed_target_param => test_target }))
78
- expect(subscription).to be_rejected
79
- expect {
80
- expect(subscription).to have_stream_from("#{ActivityNotification.config.notification_channel_prefix}_#{test_target.to_class_name}#{ActivityNotification.config.composite_key_delimiter}#{test_target.id}")
81
- }.to raise_error(/Must be subscribed!/)
82
- end
75
+ it "rejects subscription" do
76
+ subscribe(target_params.merge({ typed_target_param => test_target }))
77
+ expect(subscription).to be_rejected
78
+ expect {
79
+ expect(subscription).to have_stream_from("#{ActivityNotification.config.notification_channel_prefix}_#{test_target.to_class_name}#{ActivityNotification.config.composite_key_delimiter}#{test_target.id}")
80
+ }.to raise_error(/Must be subscribed!/)
83
81
  end
82
+ end
84
83
 
85
- context "without target_id and (typed_target)_id parameters for devise integrated channel with devise_type option" do
86
- let(:target_params) { { target_type: target_type, devise_type: :users } }
84
+ context "without target_id and (typed_target)_id parameters for devise integrated channel with devise_type option" do
85
+ let(:target_params) { { target_type: target_type, devise_type: :users } }
87
86
 
88
- before do
89
- sign_in test_target.user
90
- end
87
+ before do
88
+ sign_in test_target.user
89
+ end
91
90
 
92
- it "successfully subscribes" do
93
- subscribe(target_params)
94
- expect(subscription).to have_stream_from("#{ActivityNotification.config.notification_channel_prefix}_#{test_target.to_class_name}#{ActivityNotification.config.composite_key_delimiter}#{test_target.id}")
95
- expect(subscription).to have_stream_from("activity_notification_channel_Admin##{test_target.id}")
96
- end
91
+ it "successfully subscribes" do
92
+ subscribe(target_params)
93
+ expect(subscription).to have_stream_from("#{ActivityNotification.config.notification_channel_prefix}_#{test_target.to_class_name}#{ActivityNotification.config.composite_key_delimiter}#{test_target.id}")
94
+ expect(subscription).to have_stream_from("activity_notification_channel_Admin##{test_target.id}")
97
95
  end
98
96
  end
99
97
  end
@@ -34,7 +34,7 @@ shared_examples_for :common do
34
34
  test_instance.extend(AdditionalMethods)
35
35
  expect(ActivityNotification.resolve_value(test_instance, :custom_method)).to eq(1)
36
36
  end
37
-
37
+
38
38
  it "returns specified symbol with controller and additional arguments" do
39
39
  module AdditionalMethods
40
40
  def custom_method(controller, key)
@@ -45,6 +45,17 @@ shared_examples_for :common do
45
45
  expect(ActivityNotification.resolve_value(test_instance, :custom_method, 'test1.key')).to eq(1)
46
46
  expect(ActivityNotification.resolve_value(test_instance, :custom_method, 'test2.key')).to eq(0)
47
47
  end
48
+
49
+ it "returns specified symbol with controller and additional arguments including hash as last argument" do
50
+ module AdditionalMethods
51
+ def custom_method(controller, key, options:)
52
+ controller == 'StubController' and key == 'test1.key' ? 1 : 0
53
+ end
54
+ end
55
+ test_instance.extend(AdditionalMethods)
56
+ expect(ActivityNotification.resolve_value(test_instance, :custom_method, 'test1.key', options: 1)).to eq(1)
57
+ expect(ActivityNotification.resolve_value(test_instance, :custom_method, 'test2.key', options: 1)).to eq(0)
58
+ end
48
59
  end
49
60
 
50
61
  context "with Proc" do
@@ -62,7 +73,7 @@ shared_examples_for :common do
62
73
  test_proc = ->(controller, model){ controller == 'StubController' and model == test_instance ? 1 : 0 }
63
74
  expect(ActivityNotification.resolve_value(test_instance, test_proc)).to eq(1)
64
75
  end
65
-
76
+
66
77
  it "returns specified lambda with controller, context(model) and additional arguments" do
67
78
  test_proc = ->(controller, model, key){ controller == 'StubController' and model == test_instance and key == 'test1.key' ? 1 : 0 }
68
79
  expect(ActivityNotification.resolve_value(test_instance, test_proc, 'test1.key')).to eq(1)
@@ -118,6 +129,17 @@ shared_examples_for :common do
118
129
  expect(test_instance.resolve_value(:custom_method, 'test1.key')).to eq(1)
119
130
  expect(test_instance.resolve_value(:custom_method, 'test2.key')).to eq(0)
120
131
  end
132
+
133
+ it "returns specified symbol with additional arguments including hash as last argument" do
134
+ module AdditionalMethods
135
+ def custom_method(key, options:)
136
+ key == 'test1.key' ? 1 : 0
137
+ end
138
+ end
139
+ test_instance.extend(AdditionalMethods)
140
+ expect(test_instance.resolve_value(:custom_method, 'test1.key', options: 1)).to eq(1)
141
+ expect(test_instance.resolve_value(:custom_method, 'test2.key', options: 1)).to eq(0)
142
+ end
121
143
  end
122
144
 
123
145
  context "with Proc" do
@@ -188,4 +210,4 @@ shared_examples_for :common do
188
210
  end
189
211
  end
190
212
 
191
- end
213
+ end
@@ -490,20 +490,18 @@ shared_examples_for :target do
490
490
  end
491
491
  end
492
492
 
493
- if Rails::VERSION::MAJOR >= 5
494
- describe "#notification_action_cable_channel_class_name" do
495
- context "when custom_notification_action_cable_with_devise? returns true" do
496
- it "returns ActivityNotification::NotificationWithDeviseChannel" do
497
- described_class._notification_action_cable_with_devise = true
498
- expect(test_instance.notification_action_cable_channel_class_name).to eq(ActivityNotification::NotificationWithDeviseChannel.name)
499
- end
493
+ describe "#notification_action_cable_channel_class_name" do
494
+ context "when custom_notification_action_cable_with_devise? returns true" do
495
+ it "returns ActivityNotification::NotificationWithDeviseChannel" do
496
+ described_class._notification_action_cable_with_devise = true
497
+ expect(test_instance.notification_action_cable_channel_class_name).to eq(ActivityNotification::NotificationWithDeviseChannel.name)
500
498
  end
499
+ end
501
500
 
502
- context "when custom_notification_action_cable_with_devise? returns false" do
503
- it "returns ActivityNotification::NotificationChannel" do
504
- described_class._notification_action_cable_with_devise = false
505
- expect(test_instance.notification_action_cable_channel_class_name).to eq(ActivityNotification::NotificationChannel.name)
506
- end
501
+ context "when custom_notification_action_cable_with_devise? returns false" do
502
+ it "returns ActivityNotification::NotificationChannel" do
503
+ described_class._notification_action_cable_with_devise = false
504
+ expect(test_instance.notification_action_cable_channel_class_name).to eq(ActivityNotification::NotificationChannel.name)
507
505
  end
508
506
  end
509
507
  end
@@ -32,7 +32,7 @@ shared_examples_for :renderable do
32
32
  expect(I18n.t("notification.#{target_type_key}.#{params_text_key}.text"))
33
33
  .to eq(params_text_original)
34
34
  expect(I18n.t("notification.#{target_type_key}.#{params_text_key}.text",
35
- {article_title: article_title}))
35
+ article_title: article_title))
36
36
  .to eq(params_text_embedded)
37
37
  end
38
38
 
@@ -40,7 +40,7 @@ shared_examples_for :renderable do
40
40
  expect(I18n.t("notification.#{target_type_key}.#{group_text_key}.text"))
41
41
  .to eq(group_text_original)
42
42
  expect(I18n.t("notification.#{target_type_key}.#{group_text_key}.text",
43
- {notifier_name: notifier_name, group_member_count: group_member_count, group_notification_count: group_notification_count}))
43
+ **{ notifier_name: notifier_name, group_member_count: group_member_count, group_notification_count: group_notification_count }))
44
44
  .to eq(group_text_embedded)
45
45
  end
46
46
 
@@ -50,10 +50,10 @@ shared_examples_for :renderable do
50
50
  expect(I18n.t("notification.#{target_type_key}.#{plural_text_key}.text")[:other])
51
51
  .to eq(plural_text_original_other)
52
52
  expect(I18n.t("notification.#{target_type_key}.#{plural_text_key}.text",
53
- {article_title: article_title, notifier_name: notifier_name, count: 1}))
53
+ **{ article_title: article_title, notifier_name: notifier_name, count: 1 }))
54
54
  .to eq(plural_text_embedded_one)
55
55
  expect(I18n.t("notification.#{target_type_key}.#{plural_text_key}.text",
56
- {article_title: article_title, notifier_name: notifier_name, count: group_notification_count}))
56
+ **{ article_title: article_title, notifier_name: notifier_name, count: group_notification_count }))
57
57
  .to eq(plural_text_embedded_other)
58
58
  end
59
59
  end
@@ -126,4 +126,4 @@ shared_examples_for :renderable do
126
126
  # #layout_path
127
127
 
128
128
  end
129
- end
129
+ end
@@ -2,43 +2,23 @@ module ActivityNotification
2
2
  module ControllerSpec
3
3
  module RequestUtility
4
4
  def get_with_compatibility action, params, session
5
- if Rails::VERSION::MAJOR <= 4
6
- get action, params, session
7
- else
8
- get action, params: params, session: session
9
- end
5
+ get action, params: params, session: session
10
6
  end
11
7
 
12
8
  def post_with_compatibility action, params, session
13
- if Rails::VERSION::MAJOR <= 4
14
- post action, params, session
15
- else
16
- post action, params: params, session: session
17
- end
9
+ post action, params: params, session: session
18
10
  end
19
11
 
20
12
  def put_with_compatibility action, params, session
21
- if Rails::VERSION::MAJOR <= 4
22
- put action, params, session
23
- else
24
- put action, params: params, session: session
25
- end
13
+ put action, params: params, session: session
26
14
  end
27
15
 
28
16
  def delete_with_compatibility action, params, session
29
- if Rails::VERSION::MAJOR <= 4
30
- delete action, params, session
31
- else
32
- delete action, params: params, session: session
33
- end
17
+ delete action, params: params, session: session
34
18
  end
35
19
 
36
20
  def xhr_with_compatibility method, action, params, session
37
- if Rails::VERSION::MAJOR <= 4
38
- xhr method, action, params, session
39
- else
40
- send method.to_s, action, xhr: true, params: params, session: session
41
- end
21
+ send method.to_s, action, xhr: true, params: params, session: session
42
22
  end
43
23
  end
44
24
 
@@ -76,53 +56,37 @@ module ActivityNotification
76
56
  def api_path
77
57
  "/#{root_path}/#{target_type}/#{test_target.id}"
78
58
  end
79
-
59
+
80
60
  def schema_path
81
- Rails.root.join('..', 'openapi.json')
61
+ Rails.root.join('..', 'openapi.json')
82
62
  end
83
-
63
+
84
64
  def write_schema_file(schema_json)
85
65
  File.open(schema_path, "w") { |file| file.write(schema_json) }
86
66
  end
87
-
67
+
88
68
  def read_schema_file
89
69
  JSON.parse(File.read(schema_path))
90
70
  end
91
71
 
92
72
  def committee_options
93
- @committee_options ||= { schema: Committee::Drivers::load_from_file(schema_path), prefix: root_path, validate_success_only: true }
73
+ @committee_options ||= { schema: Committee::Drivers::load_from_file(schema_path), prefix: root_path, validate_success_only: true, parse_response_by_content_type: false }
94
74
  end
95
75
 
96
76
  def get_with_compatibility path, options = {}
97
- if Rails::VERSION::MAJOR <= 4
98
- get path, options[:params], options[:headers]
99
- else
100
- get path, options
101
- end
77
+ get path, **options
102
78
  end
103
79
 
104
80
  def post_with_compatibility path, options = {}
105
- if Rails::VERSION::MAJOR <= 4
106
- post path, options[:params], options[:headers]
107
- else
108
- post path, options
109
- end
81
+ post path, **options
110
82
  end
111
83
 
112
84
  def put_with_compatibility path, options = {}
113
- if Rails::VERSION::MAJOR <= 4
114
- put path, options[:params], options[:headers]
115
- else
116
- put path, options
117
- end
85
+ put path, **options
118
86
  end
119
87
 
120
88
  def delete_with_compatibility path, options = {}
121
- if Rails::VERSION::MAJOR <= 4
122
- delete path, options[:params], options[:headers]
123
- else
124
- delete path, options
125
- end
89
+ delete path, **options
126
90
  end
127
91
 
128
92
  def assert_all_schema_confirm(response, status)
@@ -133,4 +97,4 @@ module ActivityNotification
133
97
  end
134
98
  end
135
99
  end
136
- end
100
+ end