summaryrefslogtreecommitdiff
path: root/lib/bulk_imports/pipeline/context.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bulk_imports/pipeline/context.rb')
-rw-r--r--lib/bulk_imports/pipeline/context.rb31
1 files changed, 13 insertions, 18 deletions
diff --git a/lib/bulk_imports/pipeline/context.rb b/lib/bulk_imports/pipeline/context.rb
index ad19f5cad7d..dd121b2dbed 100644
--- a/lib/bulk_imports/pipeline/context.rb
+++ b/lib/bulk_imports/pipeline/context.rb
@@ -3,30 +3,25 @@
module BulkImports
module Pipeline
class Context
- include Gitlab::Utils::LazyAttributes
+ attr_reader :entity, :bulk_import
+ attr_accessor :extra
- Attribute = Struct.new(:name, :type)
-
- PIPELINE_ATTRIBUTES = [
- Attribute.new(:current_user, User),
- Attribute.new(:entity, ::BulkImports::Entity),
- Attribute.new(:configuration, ::BulkImports::Configuration)
- ].freeze
-
- def initialize(args)
- assign_attributes(args)
+ def initialize(entity, extra = {})
+ @entity = entity
+ @bulk_import = entity.bulk_import
+ @extra = extra
end
- private
+ def group
+ entity.group
+ end
- PIPELINE_ATTRIBUTES.each do |attr|
- lazy_attr_reader attr.name, type: attr.type
+ def current_user
+ bulk_import.user
end
- def assign_attributes(values)
- values.slice(*PIPELINE_ATTRIBUTES.map(&:name)).each do |name, value|
- instance_variable_set("@#{name}", value)
- end
+ def configuration
+ bulk_import.configuration
end
end
end