Method: RubyJmeter::ExtendedDSL#module_controller

Defined in:
lib/ruby-jmeter/dsl.rb

#module_controller(params, &block) ⇒ Object

Other Elements



290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
# File 'lib/ruby-jmeter/dsl.rb', line 290

def module_controller(params, &block)
  node = RubyJmeter::ModuleController.new(params)

  if params[:test_fragment]
    params[:test_fragment].kind_of?(String) &&
    params[:test_fragment].split('/')
  elsif params[:node_path]
    params[:node_path]
  else
    []
  end.each_with_index do |node_name, index|
    node.doc.at_xpath('//collectionProp') <<
      Nokogiri::XML(<<-EOS.strip_heredoc).children
        <stringProp name="node_#{index}">#{node_name}</stringProp>
      EOS
  end

  attach_node(node, &block)
end