graphql_connector 0.1.0.beta → 0.1.0.beta1
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 +4 -4
- data/CHANGELOG.md +11 -0
- data/Gemfile.lock +2 -2
- data/README.md +2 -2
- data/graphql_connector.gemspec +2 -2
- data/lib/graphql_connector/configuration.rb +2 -0
- data/lib/graphql_connector/query_builder.rb +21 -19
- data/lib/graphql_connector/version.rb +1 -1
- data/lib/graphql_connector.rb +1 -1
- metadata +10 -10
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: fc6fbc6e76e115e9f9b9cbc0a17c5e09d6404f0f3f688e69095fa80ef308c59a
|
|
4
|
+
data.tar.gz: 2159568d552c24a25a37d8233e06e125eedc3a4598a76f4a201818b105c6e787
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 42ee8bbcdde2f68eea168e251259892aa06b617f5fd67735a7833af78c3d2c1341bb26befd10078df1e63b288ab23cb5f3d94df8754d96836801e09a2ed42895
|
|
7
|
+
data.tar.gz: 973006929bc4e2fde380dc6d7b7228f01a506ef2b34ee610c73515643ee6b74052dbad134ce9b33ad2e0bac95c04f9fd54d71132eb48b717f08990136e7ddd49
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
graphql_connector (0.1.0)
|
|
4
|
+
graphql_connector (0.1.0.beta1)
|
|
5
5
|
httparty (~> 0.17)
|
|
6
6
|
|
|
7
7
|
GEM
|
|
@@ -56,7 +56,7 @@ PLATFORMS
|
|
|
56
56
|
DEPENDENCIES
|
|
57
57
|
bundler (~> 2.0)
|
|
58
58
|
graphql_connector!
|
|
59
|
-
pry
|
|
59
|
+
pry (~> 0.10)
|
|
60
60
|
rake (~> 10.0)
|
|
61
61
|
rspec (~> 3.8)
|
|
62
62
|
rubocop (~> 0.75)
|
data/README.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# GraphqlConnector
|
|
2
2
|
|
|
3
|
+
[](https://badge.fury.io/rb/graphql_connector)
|
|
3
5
|
[](https://travis-ci.org/Garllon/graphql_connector)
|
|
5
7
|
|
|
6
8
|
An easy connector to call your `graphql` server.
|
|
7
9
|
Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/graphql_connector`. To experiment with that code, run `bin/console` for an interactive prompt.
|
|
8
10
|
|
|
9
|
-
TODO: Delete this and the text above, and describe your gem
|
|
10
|
-
|
|
11
11
|
## Installation
|
|
12
12
|
|
|
13
13
|
Add this line to your application's Gemfile:
|
data/graphql_connector.gemspec
CHANGED
|
@@ -31,8 +31,8 @@ Gem::Specification.new do |spec|
|
|
|
31
31
|
spec.add_dependency 'httparty', '~> 0.17'
|
|
32
32
|
|
|
33
33
|
spec.add_development_dependency 'bundler', '~> 2.0'
|
|
34
|
-
spec.add_development_dependency '
|
|
34
|
+
spec.add_development_dependency 'pry', '~> 0.10'
|
|
35
35
|
spec.add_development_dependency 'rake', '~> 10.0'
|
|
36
|
-
spec.add_development_dependency '
|
|
36
|
+
spec.add_development_dependency 'rspec', '~> 3.8'
|
|
37
37
|
spec.add_development_dependency 'rubocop', '~> 0.75'
|
|
38
38
|
end
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module GraphqlConnector
|
|
2
4
|
class QueryBuilder
|
|
3
5
|
def initialize(model, conditions, selected_fields)
|
|
@@ -10,28 +12,28 @@ module GraphqlConnector
|
|
|
10
12
|
"query { #{@model}(#{main_filter}) { #{@selected_fields.join(' ')} } }"
|
|
11
13
|
end
|
|
12
14
|
|
|
13
|
-
|
|
15
|
+
private
|
|
14
16
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
def main_filter
|
|
18
|
+
conditions = @conditions.each_with_object([]) do |(key, value), array|
|
|
19
|
+
next if value.is_a? Hash # will be processed in #field_with_filter
|
|
18
20
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
+
array << "#{key}: #{value_as_parameter(value)}"
|
|
22
|
+
end
|
|
21
23
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
+
conditions.join(', ')
|
|
25
|
+
end
|
|
24
26
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
27
|
+
def value_as_parameter(value)
|
|
28
|
+
case value
|
|
29
|
+
when TrueClass, FalseClass, Integer, Float
|
|
30
|
+
value
|
|
31
|
+
when Array
|
|
32
|
+
casted_values = value.map { |v| value_as_parameter(v) }
|
|
33
|
+
"[#{casted_values.join(',')}]"
|
|
34
|
+
else # fallback to string
|
|
35
|
+
'"' + value.to_s + '"'
|
|
36
|
+
end
|
|
37
|
+
end
|
|
36
38
|
end
|
|
37
39
|
end
|
data/lib/graphql_connector.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: graphql_connector
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.0.
|
|
4
|
+
version: 0.1.0.beta1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Garllon
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2019-10-
|
|
11
|
+
date: 2019-10-06 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: httparty
|
|
@@ -39,19 +39,19 @@ dependencies:
|
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
40
|
version: '2.0'
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
|
-
name:
|
|
42
|
+
name: pry
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
45
|
- - "~>"
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '
|
|
47
|
+
version: '0.10'
|
|
48
48
|
type: :development
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
52
|
- - "~>"
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: '
|
|
54
|
+
version: '0.10'
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
56
|
name: rake
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -67,19 +67,19 @@ dependencies:
|
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
68
|
version: '10.0'
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
|
-
name:
|
|
70
|
+
name: rspec
|
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
|
72
72
|
requirements:
|
|
73
|
-
- - "
|
|
73
|
+
- - "~>"
|
|
74
74
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: '
|
|
75
|
+
version: '3.8'
|
|
76
76
|
type: :development
|
|
77
77
|
prerelease: false
|
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
79
|
requirements:
|
|
80
|
-
- - "
|
|
80
|
+
- - "~>"
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: '
|
|
82
|
+
version: '3.8'
|
|
83
83
|
- !ruby/object:Gem::Dependency
|
|
84
84
|
name: rubocop
|
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|