@@ -118,11 +118,13 @@ def deploy_simple_process(path, options = { client: GoodData.client, project: Go
118118 GoodData . logger . info ( "Deploying #{ path } " ) if verbose
119119
120120 deployed_path = Process . upload_package ( path , files_to_exclude , client : client , project : project )
121+ data_sources = options [ :data_sources ] || [ ]
121122 data = {
122123 :process => {
123124 :name => deploy_name ,
124125 :path => "/uploads/#{ File . basename ( deployed_path ) } " ,
125- :type => type
126+ :type => type ,
127+ :dataSources => data_sources
126128 }
127129 }
128130
@@ -171,10 +173,12 @@ def deploy_from_appstore(path, options = { :client => GoodData.client, :project
171173 verbose = options [ :verbose ] || false
172174 GoodData . logger . info ( "Deploying #{ path } " ) if verbose
173175
176+ data_sources = options [ :data_sources ] || [ ]
174177 data = {
175178 process : {
176179 name : deploy_name ,
177180 path : path ,
181+ dataSources : data_sources ,
178182 type : 'RUBY'
179183 }
180184 }
@@ -185,7 +189,7 @@ def deploy_from_appstore(path, options = { :client => GoodData.client, :project
185189 def deploy_component ( data , options = { client : GoodData . client , project : GoodData . project } )
186190 client , project = GoodData . get_client_and_project ( options )
187191 data = { process : data } unless data [ :process ]
188- data [ :process ] = GoodData ::Helpers . symbolize_keys ( data [ :process ] ) . select { |k | %i[ type name component ] . include? k }
192+ data [ :process ] = GoodData ::Helpers . symbolize_keys ( data [ :process ] ) . select { |k | %i[ type name component dataSources ] . include? k }
189193 data [ :process ] [ :component ] = GoodData ::Helpers . symbolize_keys ( data [ :process ] [ :component ] ) . select { |k | %i[ name version configLocation config ] . include? k }
190194
191195 save ( data , options )
@@ -266,7 +270,7 @@ def delete
266270 # @option options [String] :name Readable name of the process
267271 # @option options [Boolean] :verbose (false) Switch on verbose mode for detailed logging
268272 def deploy ( path , options = { } )
269- Process . deploy ( path , { client : client , process_id : process_id , :project => project , :name => name , :type => type } . merge ( options ) )
273+ Process . deploy ( path , { client : client , process_id : process_id , :project => project , :name => name , :type => type , :data_sources => data_sources } . merge ( options ) )
270274 end
271275
272276 # Downloads the process from S3 in a zipped form.
@@ -326,6 +330,10 @@ def component
326330 process [ 'component' ]
327331 end
328332
333+ def data_sources
334+ process [ 'dataSources' ]
335+ end
336+
329337 # Determines whether the process is an ADDv2 component.
330338 # @return [Bool] True if the process is an ADDv2 component.
331339 def add_v2_component?
0 commit comments