dolly 3.1.1 → 3.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/dolly/connection.rb +19 -5
- data/lib/dolly/exceptions.rb +12 -0
- data/lib/dolly/version.rb +1 -1
- data/lib/dolly.rb +1 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2242b051913632959c785357a5de12506673ae26c369bdaccb77763edcf5a15b
|
4
|
+
data.tar.gz: db0e1cb72dba11f0adc1184338754266dfccfe2eabd4188a23b1a313d236f2bf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '096b5264f6a0c36dc68c5c6179300fc7ca2b7fb9d8806b83929ae34180d0f900b8fb64053a6423b51d9d12b716d685cc580618290f5b80cb9041decaa217af1d'
|
7
|
+
data.tar.gz: 1220024efbc8a6bb491099f612b260f010d74bbf5d26bc96367ec676cb1095ecbf3f98194b1449f2563116770f23f5ba9bbac985a0b314ba18f3658ee85b5278
|
data/lib/dolly/connection.rb
CHANGED
@@ -65,11 +65,12 @@ module Dolly
|
|
65
65
|
end
|
66
66
|
|
67
67
|
def request(method, resource, data = {})
|
68
|
-
headers = Dolly::HeaderRequest.new(data&.delete(:headers))
|
69
|
-
data&.merge!(data&.delete(:query) || {})
|
70
68
|
db_resource = (resource =~ %r{^/}) ? resource : "/#{db_name}/#{resource}"
|
71
|
-
|
72
|
-
|
69
|
+
headers = fetch_headers(data)
|
70
|
+
body = fetch_body(data)
|
71
|
+
uri = URI("#{base_uri}#{db_resource}")
|
72
|
+
|
73
|
+
conn = curl_method_call(method, uri, body) do |curl|
|
73
74
|
if env['username'].present?
|
74
75
|
curl.http_auth_types = :basic
|
75
76
|
curl.username = env['username']
|
@@ -83,6 +84,18 @@ module Dolly
|
|
83
84
|
|
84
85
|
private
|
85
86
|
|
87
|
+
def fetch_headers(data)
|
88
|
+
return unless data.is_a?(Hash)
|
89
|
+
Dolly::HeaderRequest.new(data&.delete(:headers))
|
90
|
+
end
|
91
|
+
|
92
|
+
def fetch_body(data)
|
93
|
+
return data unless data.is_a?(Hash)
|
94
|
+
|
95
|
+
data&.delete(:headers)
|
96
|
+
data&.merge!(data&.delete(:query) || {})
|
97
|
+
end
|
98
|
+
|
86
99
|
def curl_method_call(method, uri, data, &block)
|
87
100
|
return Curl::Easy.http_head(uri.to_s, &block) if method.to_sym == :head
|
88
101
|
return Curl.delete(uri.to_s, &block) if method.to_sym == :delete
|
@@ -97,7 +110,8 @@ module Dolly
|
|
97
110
|
|
98
111
|
data = Oj.load(res.body_str, symbol_keys: true)
|
99
112
|
return data unless rails?
|
100
|
-
data.with_indifferent_access
|
113
|
+
return data.with_indifferent_access if data.is_a?(Hash)
|
114
|
+
data
|
101
115
|
rescue Oj::ParseError
|
102
116
|
res.body_str
|
103
117
|
end
|
data/lib/dolly/exceptions.rb
CHANGED
@@ -25,6 +25,18 @@ module Dolly
|
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
|
+
class BulkError < RuntimeError
|
29
|
+
def intialize(error:, reason:, obj:)
|
30
|
+
@error = error
|
31
|
+
@reason = reason
|
32
|
+
@obj = obj
|
33
|
+
end
|
34
|
+
|
35
|
+
def to_s
|
36
|
+
"#{@error} on #{@obj} because #{@reason}."
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
28
40
|
class IndexNotFoundError < RuntimeError; end
|
29
41
|
class InvalidConfigFileError < RuntimeError; end
|
30
42
|
class InvalidProperty < RuntimeError; end
|
data/lib/dolly/version.rb
CHANGED
data/lib/dolly.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dolly
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1.
|
4
|
+
version: 3.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- javierg
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-10-
|
11
|
+
date: 2021-10-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: oj
|