Class: Services::SQLSeedReader
- Inherits:
-
SeedReader
- Object
- SeedReader
- Services::SQLSeedReader
- Defined in:
- lib/arii/sqlseedreader.rb
Overview
SQLSeedReader
Load content from SQL seed.
Instance Method Summary collapse
-
#read ⇒ Object
Read.
Instance Method Details
#read ⇒ Object
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 |
# File 'lib/arii/sqlseedreader.rb', line 15 def read begin @client = Mysql2::Client.new(:host => @seed[:payload][:host], :username => @seed[:payload][:username], :password => @seed[:payload][:password], :database => @seed[:payload][:database]) @client.query(@seed[:payload][:query], :cast => false).each(:symbolize_keys => false) 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_str) end end unless @seed[:payload][:cache].nil? then object[:seed] = row[@seed[:payload][:cache]] else object[:seed] = row["id"] end object[:identifier] = @agent.identifier @objects.push object rescue Exception => e end end rescue Exception => e end @objects end |