class SqlDatasource
:nodoc
Public Class Methods
new(sql:, ar_connection:)
click to toggle source
# File lib/rotating_es_loader/sql_datasource.rb, line 9 def initialize(sql:, ar_connection:) @sql = sql @ar_connection = ar_connection raise unless @sql end
Public Instance Methods
data()
click to toggle source
# File lib/rotating_es_loader/sql_datasource.rb, line 19 def data queries = @sql.is_a?(String) ? [@sql] : @sql queries.flat_map do |query| records_array = @ar_connection.execute(@sql) fields = records_array.fields.map(&:to_sym) records_array.map do |row_array| normalize(fields.zip(row_array).to_h) end end end
each(&block)
click to toggle source
# File lib/rotating_es_loader/sql_datasource.rb, line 32 def each(&block) return to_enum(:each) unless block data.each(&block) self end
normalize(o)
click to toggle source
# File lib/rotating_es_loader/sql_datasource.rb, line 15 def normalize(o) o end