souls 0.13.4 → 0.13.5
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/Gemfile.lock +1 -1
- data/lib/souls/init.rb +79 -23
- data/lib/souls/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 708f22e2d3efc407f65326eedb0ea4b8958e812b713b8e0a738b22ec9166660f
|
4
|
+
data.tar.gz: f5eaa355fd1123c0c8e99ee4e9a591169716766c5f32667dd8c0ed3baa5ce2a5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ebf255d21f902c2ad11d7f4869fc5d671e59065861f7865b4d0365f972a2336d8b92cfbd069ced29ab59f79cf3d824412a1fca119cb230e38f8bb9f467feb25d
|
7
|
+
data.tar.gz: c2aa3e77d9f73278a5e1f4a73ebb4377de3e6e2d1f8451075df63b8158e85d6422f65c7f28d53fbcc0bb081060446b385040279899151fb4bcc29c78ac257f03
|
data/Gemfile.lock
CHANGED
data/lib/souls/init.rb
CHANGED
@@ -304,15 +304,32 @@ module Souls
|
|
304
304
|
file_path = "./app/graphql/mutations/#{class_name}/create_#{class_name}.rb"
|
305
305
|
path = "./db/schema.rb"
|
306
306
|
@on = false
|
307
|
+
@user_exist = false
|
307
308
|
File.open(file_path, "a") do |new_line|
|
308
309
|
File.open(path, "r") do |f|
|
309
310
|
f.each_line.with_index do |line, i|
|
310
311
|
if @on
|
311
|
-
|
312
|
+
if line.include?("end") || line.include?("t.index")
|
313
|
+
if @user_exist
|
314
|
+
new_line.write <<-EOS
|
315
|
+
|
316
|
+
def resolve **args
|
317
|
+
args[:user_id] = context[:user].id
|
318
|
+
EOS
|
319
|
+
else
|
320
|
+
new_line.write <<-EOS
|
321
|
+
|
322
|
+
def resolve **args
|
323
|
+
EOS
|
324
|
+
end
|
325
|
+
break
|
326
|
+
end
|
312
327
|
field = "[String]" if line.include?("array: true")
|
313
328
|
type, name = line.split(",")[0].gsub("\"", "").scan(/((?<=t\.).+(?=\s)) (.+)/)[0]
|
314
329
|
field ||= type_check type
|
315
330
|
case name
|
331
|
+
when "user_id"
|
332
|
+
@user_exist = true
|
316
333
|
when "created_at", "updated_at"
|
317
334
|
next
|
318
335
|
else
|
@@ -329,8 +346,6 @@ module Souls
|
|
329
346
|
file_path = "./app/graphql/mutations/#{class_name}/create_#{class_name}.rb"
|
330
347
|
File.open(file_path, "a") do |new_line|
|
331
348
|
new_line.write <<~EOS
|
332
|
-
|
333
|
-
def resolve **args
|
334
349
|
#{class_name} = ::#{class_name.camelize}.new args
|
335
350
|
if #{class_name}.save
|
336
351
|
{ #{class_name}: #{class_name} }
|
@@ -365,15 +380,32 @@ module Souls
|
|
365
380
|
file_path = "./app/graphql/mutations/#{class_name}/update_#{class_name}.rb"
|
366
381
|
path = "./db/schema.rb"
|
367
382
|
@on = false
|
383
|
+
@user_exist = false
|
368
384
|
File.open(file_path, "a") do |new_line|
|
369
385
|
File.open(path, "r") do |f|
|
370
386
|
f.each_line.with_index do |line, i|
|
371
387
|
if @on
|
372
|
-
|
388
|
+
if line.include?("end") || line.include?("t.index")
|
389
|
+
if @user_exist
|
390
|
+
new_line.write <<-EOS
|
391
|
+
|
392
|
+
def resolve **args
|
393
|
+
args[:user_id] = context[:user].id
|
394
|
+
EOS
|
395
|
+
else
|
396
|
+
new_line.write <<-EOS
|
397
|
+
|
398
|
+
def resolve **args
|
399
|
+
EOS
|
400
|
+
end
|
401
|
+
break
|
402
|
+
end
|
373
403
|
field = "[String]" if line.include?("array: true")
|
374
404
|
type, name = line.split(",")[0].gsub("\"", "").scan(/((?<=t\.).+(?=\s)) (.+)/)[0]
|
375
405
|
field ||= type_check type
|
376
406
|
case name
|
407
|
+
when "user_id"
|
408
|
+
@user_exist = true
|
377
409
|
when "created_at", "updated_at"
|
378
410
|
next
|
379
411
|
else
|
@@ -390,8 +422,6 @@ module Souls
|
|
390
422
|
file_path = "./app/graphql/mutations/#{class_name}/update_#{class_name}.rb"
|
391
423
|
File.open(file_path, "a") do |new_line|
|
392
424
|
new_line.write <<~EOS
|
393
|
-
|
394
|
-
def resolve **args
|
395
425
|
#{class_name} = ::#{class_name.camelize}.find args[:id]
|
396
426
|
#{class_name}.update args
|
397
427
|
{ #{class_name}: ::#{class_name.camelize}.find(args[:id]) }
|
@@ -420,10 +450,11 @@ module Souls
|
|
420
450
|
module #{class_name.camelize}
|
421
451
|
class Delete#{class_name.camelize} < BaseMutation
|
422
452
|
field :#{class_name}, Types::#{class_name.camelize}Type, null: false
|
423
|
-
argument :id,
|
453
|
+
argument :id, String, required: true
|
424
454
|
|
425
|
-
def resolve
|
426
|
-
|
455
|
+
def resolve **args
|
456
|
+
_, data_id = SoulsApiSchema.from_global_id args[:id]
|
457
|
+
#{class_name} = ::#{class_name.camelize}.find data_id
|
427
458
|
#{class_name}.destroy
|
428
459
|
{ #{class_name}: #{class_name} }
|
429
460
|
rescue StandardError => error
|
@@ -490,8 +521,8 @@ module Souls
|
|
490
521
|
argument :id, String, required: true
|
491
522
|
|
492
523
|
def resolve **args
|
493
|
-
_,
|
494
|
-
::#{class_name.camelize}.find(
|
524
|
+
_, data_id = SoulsApiSchema.from_global_id args[:id]
|
525
|
+
::#{class_name.camelize}.find(data_id)
|
495
526
|
rescue StandardError => error
|
496
527
|
GraphQL::ExecutionError.new error
|
497
528
|
end
|
@@ -650,10 +681,11 @@ module Souls
|
|
650
681
|
file_path = "./spec/mutations/#{class_name.singularize}_spec.rb"
|
651
682
|
path = "./db/schema.rb"
|
652
683
|
@on = false
|
684
|
+
@user_exist = false
|
653
685
|
File.open(file_path, "a") do |new_line|
|
654
686
|
File.open(path, "r") do |f|
|
655
687
|
f.each_line.with_index do |line, i|
|
656
|
-
if @on
|
688
|
+
if @on
|
657
689
|
if line.include?("end") || line.include?("t.index")
|
658
690
|
new_line.write " }) {\n #{class_name.singularize.camelize(:lower)} {\n id\n"
|
659
691
|
break
|
@@ -663,6 +695,8 @@ module Souls
|
|
663
695
|
case name
|
664
696
|
when "created_at", "updated_at"
|
665
697
|
next
|
698
|
+
when "user_id"
|
699
|
+
@user_exist = true
|
666
700
|
else
|
667
701
|
case type
|
668
702
|
when "string", "text", "date", "datetime"
|
@@ -693,7 +727,28 @@ module Souls
|
|
693
727
|
f.each_line.with_index do |line, i|
|
694
728
|
if @on
|
695
729
|
if line.include?("end") || line.include?("t.index")
|
696
|
-
|
730
|
+
if @user_exist
|
731
|
+
new_line.write <<-EOS
|
732
|
+
}
|
733
|
+
}
|
734
|
+
}
|
735
|
+
)
|
736
|
+
end
|
737
|
+
|
738
|
+
subject(:result) do
|
739
|
+
context = {
|
740
|
+
user: user
|
741
|
+
}
|
742
|
+
SoulsApiSchema.execute(mutation, context: context).as_json
|
743
|
+
end
|
744
|
+
|
745
|
+
it "return #{class_name.camelize} Data" do
|
746
|
+
a1 = result.dig("data", "create#{class_name.singularize.camelize}", "#{class_name.singularize.camelize(:lower)}")
|
747
|
+
expect(a1).to include(
|
748
|
+
"id" => be_a(String),
|
749
|
+
EOS
|
750
|
+
else
|
751
|
+
new_line.write <<-EOS
|
697
752
|
}
|
698
753
|
}
|
699
754
|
}
|
@@ -708,13 +763,14 @@ module Souls
|
|
708
763
|
a1 = result.dig("data", "create#{class_name.singularize.camelize}", "#{class_name.singularize.camelize(:lower)}")
|
709
764
|
expect(a1).to include(
|
710
765
|
"id" => be_a(String),
|
711
|
-
|
766
|
+
EOS
|
767
|
+
end
|
712
768
|
break
|
713
769
|
end
|
714
770
|
_, name = line.split(",")[0].gsub("\"", "").scan(/((?<=t\.).+(?=\s)) (.+)/)[0]
|
715
771
|
array_true = line.include?("array: true")
|
716
772
|
case name
|
717
|
-
when "created_at", "updated_at"
|
773
|
+
when "user_id", "created_at", "updated_at"
|
718
774
|
next
|
719
775
|
else
|
720
776
|
if array_true
|
@@ -741,11 +797,11 @@ module Souls
|
|
741
797
|
f.each_line.with_index do |line, i|
|
742
798
|
if @on
|
743
799
|
if line.include?("end") || line.include?("t.index")
|
744
|
-
new_line.write
|
745
|
-
|
746
|
-
|
747
|
-
|
748
|
-
end
|
800
|
+
new_line.write <<~EOS
|
801
|
+
)
|
802
|
+
end
|
803
|
+
end
|
804
|
+
end
|
749
805
|
EOS
|
750
806
|
break
|
751
807
|
end
|
@@ -753,7 +809,7 @@ end
|
|
753
809
|
field ||= type_check type
|
754
810
|
array_true = line.include?("array: true")
|
755
811
|
case name
|
756
|
-
when "created_at", "updated_at"
|
812
|
+
when "user_id", "created_at", "updated_at"
|
757
813
|
next
|
758
814
|
else
|
759
815
|
case type
|
@@ -832,7 +888,7 @@ end
|
|
832
888
|
end
|
833
889
|
_, name = line.split(",")[0].gsub("\"", "").scan(/((?<=t\.).+(?=\s)) (.+)/)[0]
|
834
890
|
case name
|
835
|
-
when "created_at", "updated_at"
|
891
|
+
when "user_id", "created_at", "updated_at"
|
836
892
|
next
|
837
893
|
else
|
838
894
|
new_line.write " #{name.singularize.camelize(:lower)}\n"
|
@@ -867,7 +923,7 @@ end
|
|
867
923
|
field ||= type_check type
|
868
924
|
array_true = line.include?("array: true")
|
869
925
|
case name
|
870
|
-
when "created_at", "updated_at"
|
926
|
+
when "user_id", "created_at", "updated_at"
|
871
927
|
next
|
872
928
|
else
|
873
929
|
case type
|
data/lib/souls/version.rb
CHANGED