diff --git a/app/models/form/account_batch.rb b/app/models/form/account_batch.rb index 98e3be1a0c9..f3109ad62a7 100644 --- a/app/models/form/account_batch.rb +++ b/app/models/form/account_batch.rb @@ -1,13 +1,11 @@ # frozen_string_literal: true -class Form::AccountBatch - include ActiveModel::Model - include Authorization - include AccountableConcern +class Form::AccountBatch < Form::BaseBatch include Payloadable - attr_accessor :account_ids, :action, :current_account, - :select_all_matching, :query + attr_accessor :account_ids, + :query, + :select_all_matching def save case action diff --git a/app/models/form/base_batch.rb b/app/models/form/base_batch.rb new file mode 100644 index 00000000000..d3af923784a --- /dev/null +++ b/app/models/form/base_batch.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +class Form::BaseBatch + include ActiveModel::Model + include Authorization + include AccountableConcern + + attr_accessor :action, + :current_account + + def save + raise 'Override in subclass' + end +end diff --git a/app/models/form/custom_emoji_batch.rb b/app/models/form/custom_emoji_batch.rb index c63996e0695..b8cfb363999 100644 --- a/app/models/form/custom_emoji_batch.rb +++ b/app/models/form/custom_emoji_batch.rb @@ -1,12 +1,10 @@ # frozen_string_literal: true -class Form::CustomEmojiBatch - include ActiveModel::Model - include Authorization - include AccountableConcern - - attr_accessor :custom_emoji_ids, :action, :current_account, - :category_id, :category_name, :visible_in_picker +class Form::CustomEmojiBatch < Form::BaseBatch + attr_accessor :category_id, + :category_name, + :visible_in_picker, + :custom_emoji_ids def save case action diff --git a/app/models/form/domain_block_batch.rb b/app/models/form/domain_block_batch.rb index 39012df5173..af792fd41f6 100644 --- a/app/models/form/domain_block_batch.rb +++ b/app/models/form/domain_block_batch.rb @@ -1,11 +1,7 @@ # frozen_string_literal: true -class Form::DomainBlockBatch - include ActiveModel::Model - include Authorization - include AccountableConcern - - attr_accessor :domain_blocks_attributes, :action, :current_account +class Form::DomainBlockBatch < Form::BaseBatch + attr_accessor :domain_blocks_attributes def save case action diff --git a/app/models/form/email_domain_block_batch.rb b/app/models/form/email_domain_block_batch.rb index df120182bc2..6292f2b1e12 100644 --- a/app/models/form/email_domain_block_batch.rb +++ b/app/models/form/email_domain_block_batch.rb @@ -1,11 +1,7 @@ # frozen_string_literal: true -class Form::EmailDomainBlockBatch - include ActiveModel::Model - include Authorization - include AccountableConcern - - attr_accessor :email_domain_block_ids, :action, :current_account +class Form::EmailDomainBlockBatch < Form::BaseBatch + attr_accessor :email_domain_block_ids def save case action diff --git a/app/models/form/ip_block_batch.rb b/app/models/form/ip_block_batch.rb index bdfeb91c8a8..b6a189750e9 100644 --- a/app/models/form/ip_block_batch.rb +++ b/app/models/form/ip_block_batch.rb @@ -1,11 +1,7 @@ # frozen_string_literal: true -class Form::IpBlockBatch - include ActiveModel::Model - include Authorization - include AccountableConcern - - attr_accessor :ip_block_ids, :action, :current_account +class Form::IpBlockBatch < Form::BaseBatch + attr_accessor :ip_block_ids def save case action