data_conduit 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c125b095523f09acda8fb4589dab9993008dcaa667e539c1a1a4f4cae6a096f0
|
4
|
+
data.tar.gz: 703d7ef118c6fe0379ca6130383165816b78f5ba348a117404f2fcdb83774f16
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f3459d151a16cdc55b12fe6712a1178ec77ddd20642a9f2d72043c1773b8b08d95e5f8d56decf8debf24f8657f1c74dad748eb83d09122af04f23350b254e5bc
|
7
|
+
data.tar.gz: 3014c4adb4f9f2f7ba8e03ab70e669b1e616da8e6031d5dc5fe364b3c921dc47c6ff0b5378fd90d057ce6ddff09dcfba4b84ea83c1e932e751410bf8b687c017
|
@@ -87,7 +87,9 @@ module DataConduit
|
|
87
87
|
end
|
88
88
|
|
89
89
|
def send_query(sql)
|
90
|
-
|
90
|
+
base_url = server.end_with?("/") ? server.chop : server
|
91
|
+
endpoint = "#{base_url}/v1/statement"
|
92
|
+
JSON.parse(RestClient.post(endpoint, sql, headers).body)
|
91
93
|
rescue JSON::ParserError => e
|
92
94
|
raise DataConduit::Error, "Failed to parse JSON response: #{e.message}"
|
93
95
|
rescue RestClient::ExceptionWithResponse => e
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "sequel"
|
4
|
+
require "date"
|
5
|
+
require "active_support"
|
6
|
+
require "active_support/time"
|
7
|
+
|
8
|
+
module TrinoDateLiteral
|
9
|
+
ISO_TS = "%F %T.%6N" # => "YYYY-MM-DD hh:mm:ss.ffffff"
|
10
|
+
|
11
|
+
def literal_date(value)
|
12
|
+
"DATE '#{value.iso8601}'"
|
13
|
+
end
|
14
|
+
|
15
|
+
def literal_datetime(value) = timestamp_literal(value)
|
16
|
+
def literal_time(value) = timestamp_literal(value)
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def timestamp_literal(value)
|
21
|
+
"TIMESTAMP '#{value.strftime(ISO_TS)}'"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
Sequel::Dataset.prepend(TrinoDateLiteral)
|
data/lib/data_conduit/version.rb
CHANGED
data/lib/data_conduit.rb
CHANGED
@@ -4,6 +4,7 @@ require_relative "data_conduit/version"
|
|
4
4
|
require_relative "data_conduit/data_warehouse_repository"
|
5
5
|
require_relative "data_conduit/repository_factory"
|
6
6
|
require_relative "data_conduit/adapters/trino_repository"
|
7
|
+
require_relative "data_conduit/infrastructure/sequel/trino_date_literal"
|
7
8
|
|
8
9
|
# Register default adapters
|
9
10
|
DataConduit::RepositoryFactory.register(:trino, DataConduit::Adapters::TrinoRepository)
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: data_conduit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vinicius Dittgen
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date:
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: rest-client
|
@@ -135,6 +135,20 @@ dependencies:
|
|
135
135
|
- - "~>"
|
136
136
|
- !ruby/object:Gem::Version
|
137
137
|
version: '3.18'
|
138
|
+
- !ruby/object:Gem::Dependency
|
139
|
+
name: activesupport
|
140
|
+
requirement: !ruby/object:Gem::Requirement
|
141
|
+
requirements:
|
142
|
+
- - "~>"
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: '7.0'
|
145
|
+
type: :runtime
|
146
|
+
prerelease: false
|
147
|
+
version_requirements: !ruby/object:Gem::Requirement
|
148
|
+
requirements:
|
149
|
+
- - "~>"
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
version: '7.0'
|
138
152
|
- !ruby/object:Gem::Dependency
|
139
153
|
name: sequel
|
140
154
|
requirement: !ruby/object:Gem::Requirement
|
@@ -161,6 +175,7 @@ files:
|
|
161
175
|
- lib/data_conduit.rb
|
162
176
|
- lib/data_conduit/adapters/trino_repository.rb
|
163
177
|
- lib/data_conduit/data_warehouse_repository.rb
|
178
|
+
- lib/data_conduit/infrastructure/sequel/trino_date_literal.rb
|
164
179
|
- lib/data_conduit/repository_factory.rb
|
165
180
|
- lib/data_conduit/version.rb
|
166
181
|
homepage: https://github.com/powerhome/power-tools
|
@@ -185,7 +200,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
185
200
|
- !ruby/object:Gem::Version
|
186
201
|
version: '0'
|
187
202
|
requirements: []
|
188
|
-
rubygems_version: 3.6.
|
203
|
+
rubygems_version: 3.6.7
|
189
204
|
specification_version: 4
|
190
205
|
summary: A Ruby connector for data warehouses
|
191
206
|
test_files: []
|