Class: ARII::CSVSeedReader

Inherits:
SeedReader show all
Defined in:
lib/arii/csvseedreader.rb

Overview

CSVSeedReader

Load content from CSV seed.

Instance Attribute Summary

Attributes inherited from SeedReader

#agent, #objects, #seed

Instance Method Summary collapse

Methods inherited from SeedReader

#initialize

Constructor Details

This class inherits a constructor from ARII::SeedReader

Instance Method Details

#readObject

Read

> Load the seed data into the @objects array for processing.



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/arii/csvseedreader.rb', line 15

def read
  begin
    CSV.new(open(@seed[:payload][:uri]), :headers => :first_row).each do |row|
      begin
        object = @help.deep_copy @agent[:payload]
        object.each_pair do |key, value|
          variables = @help.identify_variables(object[key])
          variables.each do |v|
            object[key].gsub!("%{#{v}}", row[@seed[:payload][:selectors][v].to_i])
          end
        end

        unless @seed[:payload][:cache].nil? then
          object[:seed] = row[@seed[:payload][:cache].to_i]
        else
          object[:seed] = row[0]
        end


        object[:identifier] = @agent.identifier
        @objects.push object
      rescue Exception => e

      end
    end
  rescue Exception => e

  end

  @objects
end