class GoodData::LCM2::CollectUsersBrickUsers
Constants
- DESCRIPTION
- MULTIPLE_COLUMN_MODES
- PARAMS
Public Class Methods
call(params)
click to toggle source
# File lib/gooddata/lcm/actions/collect_users_brick_users.rb, line 36 def call(params) users_brick_users = [] login_column = params.users_brick_config.login_column&.downcase || 'login' users_brick_data_source = GoodData::Helpers::DataSource.new(params.users_brick_config.input_source) users_brick_data_source_file = without_check(PARAMS, params) do File.open( users_brick_data_source.realize(params), 'r:UTF-8' ) end CSV.foreach(users_brick_data_source_file, :headers => true, :return_headers => false, :header_converters => :downcase, :encoding => 'utf-8') do |row| pid = row[params.multiple_projects_column&.downcase] fail "The set multiple_projects_column '#{params.multiple_projects_column}' of the users input is empty" if !pid && MULTIPLE_COLUMN_MODES.include?(params.sync_mode) users_brick_users << { login: row[login_column].nil? ? nil : row[login_column].strip.downcase, pid: pid } end { # TODO; TMA-989 return the real results when print of results is fixed for large sets results: [{ status: 'ok' }], params: { users_brick_users: users_brick_users } } end