ibrain-core 0.3.0 → 0.3.2.pre.rc.3

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: fb0ec151d7f6453997ca5d833ad71607060e591129d6043c07d8499ebaab2167
4
- data.tar.gz: 9d00165ed9d8406e0ed60c6ae240fe6ae149704922e8da994f32e1f8603d6467
3
+ metadata.gz: f2995126062624a882ac84d23bfa66ecc6a2ee79156f73ff43700077b1139948
4
+ data.tar.gz: 21678de7589b37306026e39824cae8a926a48586847af5d3445504640ed38506
5
5
  SHA512:
6
- metadata.gz: 1785d1217a3395dd13d091679fd8cdb2440798352dc1c7d0c0255c94f3c3f821ea2ec830a7b32f979dd22f69a5a2b009d0f01fe6d8b0a1372b22b61c3344bb68
7
- data.tar.gz: 07f2523dbd8a306e40da2c3a6cb4c6737af589dbb7df9e1d70e54c45e820ecf059a2816edb56a2799f5229b7ea19ea84d1305bee7a0c506685f81c259f01c20f
6
+ metadata.gz: '08b3f507cc0691923e2d67997a9ad929c99f0824145ae9850dcb46bbf1dc4ff47975dcf7ee84064eee6ab702fb977ea868d4c34c485209b69382cb9cfc5891c5'
7
+ data.tar.gz: 8493b0cfa3dd037018b27a64faf58030883df4c07bad132433e83894c719bdc0f9437eee1481c248e1ff243f425afdff7ab2ebe1140532457f7dca530eaaed1c
@@ -33,6 +33,7 @@ module Ibrain
33
33
 
34
34
  def normalize_entity
35
35
  return [params[:query], prepare_variables(params[:variables]), params[:operationName]] if params[:variables].present?
36
+ return [params[:query], prepare_variables(params[:variables]), 'IntrospectionQuery'] if params[:query].try(:include?, 'IntrospectionQuery')
36
37
 
37
38
  operations = prepare_variables(params[:operations])
38
39
  query = operations['query']
@@ -32,6 +32,7 @@ module Ibrain
32
32
  create_dir('app/repositories') unless Dir.exist?('app/repositories')
33
33
 
34
34
  template "object.erb", "#{options[:directory]}/types/objects/#{type_file_name}.rb"
35
+ template "input.erb", "#{options[:directory]}/types/input/#{input_file_name}.rb"
35
36
  template "repository.erb", "app/repositories/#{type_name}_repository.rb"
36
37
  end
37
38
 
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ <% module_namespacing_when_supported do -%>
4
+ module Types
5
+ module Input
6
+ class <%= input_ruby_name.split('::')[-1] %> < Ibrain::Types::BaseInputObject
7
+ description '<%= input_ruby_name.split('::')[-1] %>'
8
+
9
+ <% normalized_fields.each do |f| %> <%= f.to_argument %>
10
+ <% end %>end
11
+ end
12
+ end
13
+ <% end -%>
@@ -11,6 +11,7 @@ module Mutations
11
11
 
12
12
  # TODO: define arguments
13
13
  # argument :name, String, required: true
14
+ # argument :<%= model_name.underscore %>, Types::Input::<%= model_name %>Input, required: true
14
15
 
15
16
  # TODO: define resolve method
16
17
  def resolve(args)
@@ -49,6 +49,8 @@ module Ibrain
49
49
  else
50
50
  ["Types::#{type_expression.camelize}Type", null]
51
51
  end
52
+ when :input
53
+ ["Types::#{type_expression.camelize}Input", null]
52
54
  when :graphql
53
55
  [type_expression.camelize, null]
54
56
  else
@@ -74,6 +76,15 @@ module Ibrain
74
76
  @type_file_name ||= "#{type_graphql_name}Type".underscore
75
77
  end
76
78
 
79
+ # @return [String] The user-provided type name, as a file name (without extension)
80
+ def input_file_name
81
+ @input_file_name ||= "#{type_graphql_name}Input".underscore
82
+ end
83
+
84
+ def input_ruby_name
85
+ @input_ruby_name ||= self.class.normalize_type_expression(type_name, mode: :input)[0]
86
+ end
87
+
77
88
  # @return [Array<NormalizedField>] User-provided fields, in `(name, Ruby type name)` pairs
78
89
  def normalized_fields
79
90
  skip_fields = ["created_at:!Datetime", "updated_at:!Datetime"]
@@ -95,6 +106,10 @@ module Ibrain
95
106
  def to_ruby
96
107
  "field :#{@name}, #{@type_expr}, null: #{@null}"
97
108
  end
109
+
110
+ def to_argument
111
+ "argument :#{@name}, #{@type_expr}, required: #{@null}"
112
+ end
98
113
  end
99
114
  end
100
115
  end
@@ -1,14 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Ibrain
4
- VERSION = "0.3.0"
4
+ VERSION = "0.3.2-rc.3"
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.9'
11
+ '0.3.2-rc.2'
12
12
  end
13
13
 
14
14
  def self.ibrain_gem_version
@@ -16,7 +16,8 @@ namespace :ridgepole do
16
16
  desc 'import seed data'
17
17
  task seed: :environment do
18
18
  path = Rails.root.join("db/seeds/#{Rails.env}.rb")
19
- path = path.sub(Rails.env, 'development') unless File.exist?(path)
19
+ path = path.sub(Rails.env, ENV.fetch('RAILS_ENV', 'development')) unless File.exist?(path)
20
+
20
21
  require path
21
22
  end
22
23
 
metadata CHANGED
@@ -1,175 +1,169 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ibrain-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.2.pre.rc.3
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-02-18 00:00:00.000000000 Z
11
+ date: 2022-07-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord-session_store
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '1.0'
19
+ version: '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: '1.0'
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: awesome_nested_set
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 3.4.0
33
+ version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 3.4.0
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: cancancan
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: 1.15.0
47
+ version: '0'
48
48
  type: :runtime
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: 1.15.0
54
+ version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: discard
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: '1.2'
61
+ version: '0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: '1.2'
68
+ version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: friendly_id
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: 5.4.2
75
+ version: '0'
76
76
  type: :runtime
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: 5.4.2
82
+ version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: gem-release
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: 2.2.2
89
+ version: '0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
- version: 2.2.2
96
+ version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: kaminari
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "~>"
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: 1.2.1
103
+ version: '0'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - "~>"
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
- version: 1.2.1
110
+ version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: puma
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - "~>"
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
- version: '4.0'
117
+ version: '0'
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - "~>"
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
- version: '4.0'
124
+ version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: rack-cors
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - "~>"
129
+ - - ">="
130
130
  - !ruby/object:Gem::Version
131
- version: 1.1.1
131
+ version: '0'
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - "~>"
136
+ - - ">="
137
137
  - !ruby/object:Gem::Version
138
- version: 1.1.1
138
+ version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: rails
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - "~>"
144
- - !ruby/object:Gem::Version
145
- version: 6.1.4
146
143
  - - ">="
147
144
  - !ruby/object:Gem::Version
148
- version: 6.1.4.1
145
+ version: '0'
149
146
  type: :runtime
150
147
  prerelease: false
151
148
  version_requirements: !ruby/object:Gem::Requirement
152
149
  requirements:
153
- - - "~>"
154
- - !ruby/object:Gem::Version
155
- version: 6.1.4
156
150
  - - ">="
157
151
  - !ruby/object:Gem::Version
158
- version: 6.1.4.1
152
+ version: '0'
159
153
  - !ruby/object:Gem::Dependency
160
154
  name: ransack
161
155
  requirement: !ruby/object:Gem::Requirement
162
156
  requirements:
163
- - - "~>"
157
+ - - ">="
164
158
  - !ruby/object:Gem::Version
165
- version: 2.4.2
159
+ version: '0'
166
160
  type: :runtime
167
161
  prerelease: false
168
162
  version_requirements: !ruby/object:Gem::Requirement
169
163
  requirements:
170
- - - "~>"
164
+ - - ">="
171
165
  - !ruby/object:Gem::Version
172
- version: 2.4.2
166
+ version: '0'
173
167
  description: Its Core is an sso authen gem for Ruby on Rails.
174
168
  email:
175
169
  - nvt.tryup@gmail.com
@@ -241,6 +235,7 @@ files:
241
235
  - lib/generators/ibrain/graphql/resolver_generator.rb
242
236
  - lib/generators/ibrain/graphql/resolvers_generator.rb
243
237
  - lib/generators/ibrain/graphql/templates/aggregate.erb
238
+ - lib/generators/ibrain/graphql/templates/input.erb
244
239
  - lib/generators/ibrain/graphql/templates/mutation.erb
245
240
  - lib/generators/ibrain/graphql/templates/object.erb
246
241
  - lib/generators/ibrain/graphql/templates/repository.erb
@@ -304,9 +299,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
304
299
  version: '0'
305
300
  required_rubygems_version: !ruby/object:Gem::Requirement
306
301
  requirements:
307
- - - ">="
302
+ - - ">"
308
303
  - !ruby/object:Gem::Version
309
- version: '0'
304
+ version: 1.3.1
310
305
  requirements: []
311
306
  rubygems_version: 3.2.22
312
307
  signing_key: