lolitado 0.1.0 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/lolitado/api.rb +17 -4
- data/lib/lolitado/version.rb +1 -1
- data/lib/lolitado.rb +12 -5
- data/lolitado.gemspec +1 -1
- metadata +7 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8721d993ba93fa0b093f43e66f0ee2ee2274245dae9f887875bc4fbf3cc8cdcb
|
4
|
+
data.tar.gz: bac8a6a0683605087651cad5b68ad7980a3333806f4b28f9ba442445e8b71ec0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a34d032214ac441f52cdf393e13ad85f67215d3031c3264a43e858c40470f3b5703053d151d3bc277ae5412df843b1a0cf9319032035e559d494f4eac3716ff4
|
7
|
+
data.tar.gz: 521d296bbcd6d0d0028b241e6f951150f73b001a32d8701bd12825f090664731ee6078fce497cee10f467537986e9942b7903685312e4da158ea03aa092d6620
|
data/lib/lolitado/api.rb
CHANGED
@@ -10,7 +10,9 @@ module Lolitado
|
|
10
10
|
# @param msecs [Float] benchmark for api response time
|
11
11
|
#
|
12
12
|
def self.format_response response, msecs
|
13
|
-
|
13
|
+
new_response = {:response => response, :message => response.parsed_response, :status => response.code, :duration => msecs}
|
14
|
+
response_with_hash_key = JSON.parse(JSON[new_response], symbolize_names: true)
|
15
|
+
return response_with_hash_key
|
14
16
|
end
|
15
17
|
|
16
18
|
#
|
@@ -37,6 +39,7 @@ module Lolitado
|
|
37
39
|
end
|
38
40
|
finish = Time.now
|
39
41
|
msecs = (finish - start) * 1000.0
|
42
|
+
clear_headers
|
40
43
|
# puts "RESPONSE - #{msecs}"
|
41
44
|
return self.format_response(response, msecs)
|
42
45
|
end
|
@@ -58,6 +61,13 @@ module Lolitado
|
|
58
61
|
def self.new_headers
|
59
62
|
return @new_headers
|
60
63
|
end
|
64
|
+
|
65
|
+
#
|
66
|
+
# clear headers
|
67
|
+
#
|
68
|
+
def self.clear_headers
|
69
|
+
API.new_headers.clear unless API.new_headers.nil?
|
70
|
+
end
|
61
71
|
end
|
62
72
|
|
63
73
|
class Graph < API
|
@@ -71,7 +81,7 @@ module Lolitado
|
|
71
81
|
# @param variables [String] input variables for graph query using
|
72
82
|
#
|
73
83
|
def self.request query, variables = false
|
74
|
-
super(:post, '
|
84
|
+
super(:post, '', generate_body(query, variables))
|
75
85
|
end
|
76
86
|
|
77
87
|
#
|
@@ -90,7 +100,9 @@ module Lolitado
|
|
90
100
|
else
|
91
101
|
message = {'errors'=>response.parsed_response}
|
92
102
|
end
|
93
|
-
|
103
|
+
new_response = {:response => response, :message => message, :status => response.code, :duration => msecs}
|
104
|
+
response_with_hash_key = JSON.parse(JSON[new_response], symbolize_names: true)
|
105
|
+
return response_with_hash_key
|
94
106
|
end
|
95
107
|
|
96
108
|
#
|
@@ -103,7 +115,8 @@ module Lolitado
|
|
103
115
|
body = {}
|
104
116
|
body['query'] = query
|
105
117
|
if variables
|
106
|
-
|
118
|
+
variable_indices = query.enum_for(:scan, /(?=\$.*:)/).map { Regexp.last_match.offset(0).first }
|
119
|
+
if query.include?('$input') && variable_indices.to_a.length == 1
|
107
120
|
body['variables'] = {'input'=>variables}
|
108
121
|
else
|
109
122
|
body['variables'] = variables
|
data/lib/lolitado/version.rb
CHANGED
data/lib/lolitado.rb
CHANGED
@@ -19,8 +19,7 @@ require 'lolitado/box'
|
|
19
19
|
# end
|
20
20
|
|
21
21
|
# def get_details_of_a_city city_slug, locale
|
22
|
-
#
|
23
|
-
# request('get', "/cities/#{city_slug}")
|
22
|
+
# request('get', "/cities/#{city_slug}", locale)
|
24
23
|
# end
|
25
24
|
# end
|
26
25
|
#
|
@@ -33,7 +32,6 @@ require 'lolitado/box'
|
|
33
32
|
# end
|
34
33
|
|
35
34
|
# def user_login payload
|
36
|
-
# add_headers({'Content-Type' => "application/json"})
|
37
35
|
# query = "mutation login($input: UserLoginInput!) {userLogin(input:$input) {authToken}}"
|
38
36
|
# graph_request(query, payload)
|
39
37
|
# end
|
@@ -45,9 +43,13 @@ module Lolitado
|
|
45
43
|
#
|
46
44
|
# @param method [String] http request method
|
47
45
|
# @param endpoint [String] http request endpoint
|
46
|
+
# @param token [String] authorization token if query needed
|
47
|
+
# @param locale [String] locale if query needed
|
48
48
|
# @param body [String] http request body
|
49
49
|
#
|
50
|
-
def request method, endpoint, body=false
|
50
|
+
def request method, endpoint, token = false, locale = false, body=false
|
51
|
+
add_headers({'Authorization' => "Bearer #{token}"}) if token
|
52
|
+
add_headers({'Accept-Language' => locale}) if locale
|
51
53
|
API.request(method, endpoint, body)
|
52
54
|
end
|
53
55
|
|
@@ -55,9 +57,14 @@ module Lolitado
|
|
55
57
|
# forward graph_request method from Graph class to Graph.request method
|
56
58
|
#
|
57
59
|
# @param query [String] graph query
|
60
|
+
# @param token [String] authorization token if query needed
|
61
|
+
# @param locale [String] locale if query needed
|
58
62
|
# @param variables [String] input variables for graph query using
|
59
63
|
#
|
60
|
-
def graph_request query, variables = false
|
64
|
+
def graph_request query, token = false, locale = false, variables = false
|
65
|
+
add_headers({'Content-Type' => "application/json"})
|
66
|
+
add_headers({'Authorization' => "Bearer #{token}"}) if token
|
67
|
+
add_headers({'Accept-Language' => locale}) if locale
|
61
68
|
Graph.request(query, variables)
|
62
69
|
end
|
63
70
|
|
data/lolitado.gemspec
CHANGED
@@ -15,7 +15,7 @@ Gem::Specification.new do |s|
|
|
15
15
|
s.files = `git ls-files`.split("\n")
|
16
16
|
s.license = 'MIT'
|
17
17
|
s.require_paths = ["lib"]
|
18
|
-
s.add_dependency "sequel", "~>
|
18
|
+
s.add_dependency "sequel", "~> 5.49.0"
|
19
19
|
s.add_dependency "net-ssh-gateway", "~> 1.2"
|
20
20
|
s.add_dependency "httparty", "~> 0.14"
|
21
21
|
s.add_dependency "rbnacl-libsodium", "~> 1.0.10"
|
metadata
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lolitado
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dolores Zhang
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
date: 2018-12-14 00:00:00.000000000 Z
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 5.49.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 5.49.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: net-ssh-gateway
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -88,7 +88,7 @@ homepage: http://github.com/doloreszhang/lolitado
|
|
88
88
|
licenses:
|
89
89
|
- MIT
|
90
90
|
metadata: {}
|
91
|
-
post_install_message:
|
91
|
+
post_install_message:
|
92
92
|
rdoc_options: []
|
93
93
|
require_paths:
|
94
94
|
- lib
|
@@ -103,9 +103,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
103
103
|
- !ruby/object:Gem::Version
|
104
104
|
version: '0'
|
105
105
|
requirements: []
|
106
|
-
|
107
|
-
|
108
|
-
signing_key:
|
106
|
+
rubygems_version: 3.2.15
|
107
|
+
signing_key:
|
109
108
|
specification_version: 4
|
110
109
|
summary: Lolitado DSL for database process
|
111
110
|
test_files: []
|