Sha256: 32b6c9926428a5a17462fa8e79ee3107d38c7deb499e397d79f73125ab65532d
Contents?: true
Size: 835 Bytes
Versions: 1
Compression:
Stored size: 835 Bytes
Contents
# frozen_string_literal: true module Qravan # Resource processing class class Resource attr_accessor :connections, :cargo def initialize(name, data, cargo = {}) @resource = name @resource_data = data @cargo ||= cargo @connections = cargo.connections end def validate @resource_data end def extract source_name = "#{cargo.models[@resource]["extract"]["source"]["name"]}_source" @connections[source_name.to_s].extract(sql) end def sql [ :select, @resource_data["attributes"].join(","), :from, cargo.models[@resource]["extract"]["source"]["table"], :where, @resource_data["conditions"].map { |k, v| "#{k}='#{v}'" } .join(" and ") ].join(" ") end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
qravan-0.1.0 | lib/qravan/resource/resource.rb |