ibrain-core 0.2.6 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1fe387824c7b0f75b2650403231cc253b761c33fe0867b45af3adbedae3e6e36
4
- data.tar.gz: 6f018c39da2e0f9acc7f4dc7ca416faca4e5e4c002eab41beab340e4f8e34dce
3
+ metadata.gz: fb0ec151d7f6453997ca5d833ad71607060e591129d6043c07d8499ebaab2167
4
+ data.tar.gz: 9d00165ed9d8406e0ed60c6ae240fe6ae149704922e8da994f32e1f8603d6467
5
5
  SHA512:
6
- metadata.gz: d54971c207b5f127f655e9ca11327d713da840853e9b7bbe919db2f608bf120944a791081f14b7b894086890bc46f6fbfcbcf4279fbe3ef7e2c0aad94d78d712
7
- data.tar.gz: 5e6bd207c6176b067b69cfd56ced53209e69b53acf5b76f0b506ed9dfa32a7211dc6ebff94f05be70891872a08c2f45326cf66cc894fcb4bcc811dedccebf916
6
+ metadata.gz: 1785d1217a3395dd13d091679fd8cdb2440798352dc1c7d0c0255c94f3c3f821ea2ec830a7b32f979dd22f69a5a2b009d0f01fe6d8b0a1372b22b61c3344bb68
7
+ data.tar.gz: 07f2523dbd8a306e40da2c3a6cb4c6737af589dbb7df9e1d70e54c45e820ecf059a2816edb56a2799f5229b7ea19ea84d1305bee7a0c506685f81c259f01c20f
@@ -32,9 +32,33 @@ module Ibrain
32
32
  protected
33
33
 
34
34
  def normalize_entity
35
- query = params[:query]
36
- operation_name = params[:operationName]
37
- variables = prepare_variables(params[:variables])
35
+ return [params[:query], prepare_variables(params[:variables]), params[:operationName]] if params[:variables].present?
36
+
37
+ operations = prepare_variables(params[:operations])
38
+ query = operations['query']
39
+ variables = operations['variables']
40
+ operation_name = operations['operationName']
41
+
42
+ if params[:map].present?
43
+ JSON.parse(params[:map]).each do |k, arguments|
44
+ argument_name = arguments.try(:first).try(:split, '.').try(:second)
45
+ next if argument_name.blank?
46
+
47
+ file = params[k]
48
+
49
+ if variables[argument_name].blank?
50
+ variables[argument_name] = variables[argument_name].is_a?(Array) ? [file] : file
51
+
52
+ next
53
+ end
54
+
55
+ unless variables[argument_name].is_a?(Array)
56
+ variables[argument_name] = [variables[argument_name]]
57
+ end
58
+
59
+ variables[argument_name] = variables[argument_name].concat([file]).compact
60
+ end
61
+ end
38
62
 
39
63
  [query, variables, operation_name]
40
64
  end
@@ -3,6 +3,8 @@
3
3
  module Ibrain
4
4
  module Resolvers
5
5
  class BaseResolver < GraphQL::Schema::Resolver
6
+ argument_class ::Ibrain::Types::BaseArgument
7
+
6
8
  argument :filter, Ibrain::Types::FilterType, required: false, default_value: nil
7
9
  argument :limit, Int, required: false, default_value: 10
8
10
  argument :offset, Int, required: false, default_value: 0
@@ -4,6 +4,12 @@ module Ibrain
4
4
  module Types
5
5
  class BaseInputObject < GraphQL::Schema::InputObject
6
6
  argument_class Ibrain::Types::BaseArgument
7
+
8
+ def to_params
9
+ ActionController::Parameters.new(
10
+ to_h.with_indifferent_access.transform_keys(&:underscore)
11
+ )
12
+ end
7
13
  end
8
14
  end
9
15
  end
@@ -1,14 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Ibrain
4
- VERSION = "0.2.6"
4
+ VERSION = "0.3.0"
5
5
 
6
6
  def self.ibrain_version
7
7
  VERSION
8
8
  end
9
9
 
10
10
  def self.previous_ibrain_minor_version
11
- '0.2.5'
11
+ '0.2.9'
12
12
  end
13
13
 
14
14
  def self.ibrain_gem_version
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ibrain-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tai Nguyen Van
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-18 00:00:00.000000000 Z
11
+ date: 2022-02-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord-session_store