Method: SkullIsland::Resources::UpstreamTarget.batch_import
- Defined in:
- lib/skull_island/resources/upstream_target.rb
.batch_import(data, verbose: false, test: false, project: nil, time: nil) ⇒ Object
rubocop:disable Metrics/CyclomaticComplexity rubocop:disable Metrics/PerceivedComplexity
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/skull_island/resources/upstream_target.rb', line 23 def self.batch_import(data, verbose: false, test: false, project: nil, time: nil) raise(Exceptions::InvalidArguments) unless data.is_a?(Array) known_ids = [] data.each_with_index do |resource_data, index| resource = new resource.delayed_set(:target, resource_data) resource.delayed_set(:upstream, resource_data) resource.weight = resource_data['weight'] if resource_data['weight'] resource. = resource_data['tags'] if resource_data['tags'] resource.project = project if project resource.import_time = (time || Time.now.utc.to_i) if project resource.import_update_or_skip(index: index, verbose: verbose, test: test) known_ids << resource.id end cleanup_except(project, known_ids) if project known_ids end |