diff --git a/lib/variable_uploader/dsl.rb b/lib/variable_uploader/dsl.rb index e6d2a50..f1b66df 100644 --- a/lib/variable_uploader/dsl.rb +++ b/lib/variable_uploader/dsl.rb @@ -37,7 +37,7 @@ def update_variable(options={}) raise "Specify file name or values" if (options[:values].nil? && options[:file].nil?) raise "Variable needs to be defined" if options[:variable].nil? - @steps << VariableStep.new(options[:file], options[:variable], options[:label]) + @steps << VariableStep.new(options[:file], options[:variable], options[:label], options) end def update_users(options={}) diff --git a/lib/variable_uploader/variable_upload_step.rb b/lib/variable_uploader/variable_upload_step.rb index 165c067..d9a25a6 100644 --- a/lib/variable_uploader/variable_upload_step.rb +++ b/lib/variable_uploader/variable_upload_step.rb @@ -10,10 +10,11 @@ class VariableStep < Step attr_reader :variable_uri, :filename, :display_form_uri, :logger - def initialize(filename, variable_uri, label_uri) + def initialize(filename, variable_uri, label_uri, options={}) @filename = filename @variable_uri = variable_uri @display_form_uri = label_uri + @users_data = options[:users_data] end def run(logger_param, project) @@ -108,7 +109,8 @@ def create_expressions_for_update(users_lookup, elements_lookup) def create_users_lookup(project) users_lookup = {} - GoodData.get("#{project.uri}/users")["users"].each do |user| + data = @users_data.nil?() ? GoodData.get("#{project.uri}/users") : @users_data + data["users"].each do |user| user = user["user"] users_lookup[user["content"]["email"]] = user["links"]["self"] end