souls 0.9.3 → 0.9.4
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/.rubocop.yml +3 -1
- data/Gemfile.lock +1 -1
- data/exe/souls +10 -5
- data/lib/souls.rb +1 -0
- data/lib/souls/init.rb +83 -41
- data/lib/souls/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d825fd34a0c8330fe7f2bb659061d47e5236f3026f3d48f2f47b53747dcecac2
|
4
|
+
data.tar.gz: 2e54fe6eb846ac78d53dc1cb5e4549e3af3f41fb2e8674477ac947e4563f8f55
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a461d07f08c1c838ef6b532145e02bd1770fd689353a4e7ddb69ff176ee60573eca6079e8c1fa2831e19f393ed9c9451bf00db23b25629d5f31aa8222a0a1eb2
|
7
|
+
data.tar.gz: 837cad066a089928ab0f2b86eb42249eac6bc580c6e01eb70fc288f33bb82828efb3be26193ce7a2e17355efe6b20b5a5ceffd3c0e2c3eaf500c73727730e0e1
|
data/.rubocop.yml
CHANGED
data/Gemfile.lock
CHANGED
data/exe/souls
CHANGED
@@ -48,7 +48,7 @@ begin
|
|
48
48
|
when "g", "generate"
|
49
49
|
case ARGV[1]
|
50
50
|
when "test"
|
51
|
-
Souls::Init.
|
51
|
+
Souls::Init.get_tables
|
52
52
|
when "model"
|
53
53
|
Souls::Init.model class_name: ARGV[2]
|
54
54
|
when "mutation"
|
@@ -59,6 +59,10 @@ begin
|
|
59
59
|
Souls::Init.type class_name: ARGV[2]
|
60
60
|
when "migrate"
|
61
61
|
Souls::Init.migration class_name: ARGV[2]
|
62
|
+
when "migrate_all"
|
63
|
+
Souls::Init.get_tables.each do |class_name|
|
64
|
+
Souls::Init.migration class_name: class_name
|
65
|
+
end
|
62
66
|
when "migration"
|
63
67
|
`rake db:create_migration NAME=#{ARGV[3]}`
|
64
68
|
when "rspec_factory"
|
@@ -74,15 +78,16 @@ begin
|
|
74
78
|
else
|
75
79
|
end
|
76
80
|
when "t", "test"
|
77
|
-
`rubocop`
|
78
|
-
`bundle exec rspec`
|
81
|
+
puts `rubocop`
|
82
|
+
puts `bundle exec rspec`
|
79
83
|
when "deploy"
|
80
84
|
project_id = Souls.configuration.project_id
|
81
85
|
`gcloud builds submit --config=cloudbuild.yml --project #{project_id}`
|
82
86
|
else
|
83
|
-
puts "Welcome to
|
87
|
+
puts "Welcome to SOULs!"
|
84
88
|
end
|
85
89
|
rescue StandardError => error
|
86
90
|
puts error
|
87
|
-
puts "Thank you
|
91
|
+
puts "Thank you!!"
|
92
|
+
puts "SOULs"
|
88
93
|
end
|
data/lib/souls.rb
CHANGED
data/lib/souls/init.rb
CHANGED
@@ -284,20 +284,21 @@ module Souls
|
|
284
284
|
end
|
285
285
|
|
286
286
|
def create_mutation_head class_name: "souls"
|
287
|
-
file_path = "./app/graphql/mutations/create_#{class_name}.rb"
|
287
|
+
file_path = "./app/graphql/mutations/#{class_name}/create_#{class_name}.rb"
|
288
288
|
File.open(file_path, "w") do |new_line|
|
289
289
|
new_line.write <<~EOS
|
290
290
|
module Mutations
|
291
|
-
|
292
|
-
|
293
|
-
|
291
|
+
module #{class_name.camelize}
|
292
|
+
class Create#{class_name.camelize} < BaseMutation
|
293
|
+
field :#{class_name}, Types::#{class_name.camelize}Type, null: false
|
294
|
+
field :error, String, null: true
|
294
295
|
|
295
296
|
EOS
|
296
297
|
end
|
297
298
|
end
|
298
299
|
|
299
300
|
def create_mutation_params class_name: "souls"
|
300
|
-
file_path = "./app/graphql/mutations/create_#{class_name}.rb"
|
301
|
+
file_path = "./app/graphql/mutations/#{class_name}/create_#{class_name}.rb"
|
301
302
|
path = "./db/schema.rb"
|
302
303
|
@on = false
|
303
304
|
File.open(file_path, "a") do |new_line|
|
@@ -311,7 +312,7 @@ module Souls
|
|
311
312
|
when "created_at", "updated_at"
|
312
313
|
next
|
313
314
|
else
|
314
|
-
new_line.write "
|
315
|
+
new_line.write " argument :#{name}, #{field}, required: false\n"
|
315
316
|
end
|
316
317
|
end
|
317
318
|
@on = true if table_check(line: line, class_name: class_name)
|
@@ -321,19 +322,20 @@ module Souls
|
|
321
322
|
end
|
322
323
|
|
323
324
|
def create_mutation_end class_name: "souls"
|
324
|
-
file_path = "./app/graphql/mutations/create_#{class_name}.rb"
|
325
|
+
file_path = "./app/graphql/mutations/#{class_name}/create_#{class_name}.rb"
|
325
326
|
File.open(file_path, "a") do |new_line|
|
326
327
|
new_line.write <<~EOS
|
327
328
|
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
329
|
+
def resolve **args
|
330
|
+
#{class_name} = #{class_name.camelize}.new args
|
331
|
+
if #{class_name}.save
|
332
|
+
{ #{class_name}: #{class_name} }
|
333
|
+
else
|
334
|
+
{ error: #{class_name}.errors.full_messages }
|
335
|
+
end
|
336
|
+
rescue StandardError => error
|
337
|
+
GraphQL::ExecutionError.new error
|
334
338
|
end
|
335
|
-
rescue StandardError => error
|
336
|
-
GraphQL::ExecutionError.new error
|
337
339
|
end
|
338
340
|
end
|
339
341
|
end
|
@@ -343,19 +345,20 @@ module Souls
|
|
343
345
|
end
|
344
346
|
|
345
347
|
def update_mutation_head class_name: "souls"
|
346
|
-
file_path = "./app/graphql/mutations/update_#{class_name}.rb"
|
348
|
+
file_path = "./app/graphql/mutations/#{class_name}/update_#{class_name}.rb"
|
347
349
|
File.open(file_path, "w") do |new_line|
|
348
350
|
new_line.write <<~EOS
|
349
351
|
module Mutations
|
350
|
-
|
351
|
-
|
352
|
+
module #{class_name.camelize}
|
353
|
+
class Update#{class_name.camelize} < BaseMutation
|
354
|
+
field :#{class_name}, Types::#{class_name.camelize}Type, null: false
|
352
355
|
|
353
356
|
EOS
|
354
357
|
end
|
355
358
|
end
|
356
359
|
|
357
360
|
def update_mutation_params class_name: "souls"
|
358
|
-
file_path = "./app/graphql/mutations/update_#{class_name}.rb"
|
361
|
+
file_path = "./app/graphql/mutations/#{class_name}/update_#{class_name}.rb"
|
359
362
|
path = "./db/schema.rb"
|
360
363
|
@on = false
|
361
364
|
File.open(file_path, "a") do |new_line|
|
@@ -369,7 +372,7 @@ module Souls
|
|
369
372
|
when "created_at", "updated_at"
|
370
373
|
next
|
371
374
|
else
|
372
|
-
new_line.write "
|
375
|
+
new_line.write " argument :#{name}, #{field}, required: false\n"
|
373
376
|
end
|
374
377
|
end
|
375
378
|
@on = true if table_check(line: line, class_name: class_name)
|
@@ -379,16 +382,17 @@ module Souls
|
|
379
382
|
end
|
380
383
|
|
381
384
|
def update_mutation_end class_name: "souls"
|
382
|
-
file_path = "./app/graphql/mutations/update_#{class_name}.rb"
|
385
|
+
file_path = "./app/graphql/mutations/#{class_name}/update_#{class_name}.rb"
|
383
386
|
File.open(file_path, "a") do |new_line|
|
384
387
|
new_line.write <<~EOS
|
385
388
|
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
389
|
+
def resolve **args
|
390
|
+
#{class_name} = #{class_name.camelize}.find args[:id]
|
391
|
+
#{class_name}.update args
|
392
|
+
{ #{class_name}: #{class_name.camelize}.find(args[:id]) }
|
393
|
+
rescue StandardError => error
|
394
|
+
GraphQL::ExecutionError.new error
|
395
|
+
end
|
392
396
|
end
|
393
397
|
end
|
394
398
|
end
|
@@ -404,20 +408,22 @@ module Souls
|
|
404
408
|
end
|
405
409
|
|
406
410
|
def delete_mutation class_name: "souls"
|
407
|
-
file_path = "./app/graphql/mutations/delete_#{class_name}.rb"
|
411
|
+
file_path = "./app/graphql/mutations/#{class_name}/delete_#{class_name}.rb"
|
408
412
|
File.open(file_path, "w") do |f|
|
409
413
|
f.write <<~EOS
|
410
414
|
module Mutations
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
415
|
+
module #{class_name.camelize}
|
416
|
+
class Delete#{class_name.camelize} < BaseMutation
|
417
|
+
field :#{class_name}, Types::#{class_name.camelize}Type, null: false
|
418
|
+
argument :id, Integer, required: true
|
419
|
+
|
420
|
+
def resolve id:
|
421
|
+
#{class_name} = #{class_name.camelize}.find id
|
422
|
+
#{class_name}.destroy
|
423
|
+
{ #{class_name}: #{class_name} }
|
424
|
+
rescue StandardError => error
|
425
|
+
GraphQL::ExecutionError.new error
|
426
|
+
end
|
421
427
|
end
|
422
428
|
end
|
423
429
|
end
|
@@ -426,13 +432,32 @@ module Souls
|
|
426
432
|
puts "Mutation create_#{class_name}.rb Auto Generated from schema.rb!: `#{file_path}`"
|
427
433
|
end
|
428
434
|
|
435
|
+
def create_confirm
|
436
|
+
puts "Directory already exists, Overwrite?? (Y/N)"
|
437
|
+
input = STDIN.gets.chomp
|
438
|
+
return true if input == "Y"
|
439
|
+
raise StandardError.new "Directory Already Exist!"
|
440
|
+
end
|
441
|
+
|
429
442
|
def mutation class_name: "souls"
|
430
443
|
singularized_class_name = class_name.singularize
|
444
|
+
if Dir.exist? "./app/graphql/mutations/#{singularized_class_name}"
|
445
|
+
create_confirm
|
446
|
+
FileUtils.rm_r("./app/graphql/mutations/#{singularized_class_name}")
|
447
|
+
end
|
448
|
+
Dir.mkdir "./app/graphql/mutations/#{singularized_class_name}"
|
431
449
|
create_mutation_head class_name: singularized_class_name
|
432
450
|
create_mutation_params class_name: singularized_class_name
|
433
451
|
create_mutation_end class_name: singularized_class_name
|
434
452
|
update_mutation class_name: singularized_class_name
|
435
453
|
delete_mutation class_name: singularized_class_name
|
454
|
+
puts "\n#############################################################################################################"
|
455
|
+
puts "\nAdd these lines at `./app/graphql/types/mutation_type.rb`"
|
456
|
+
puts "\n\n"
|
457
|
+
puts "field :create_#{singularized_class_name}, mutation: Mutations::#{singularized_class_name.camelize}::Create#{singularized_class_name.camelize}"
|
458
|
+
puts "field :update_#{singularized_class_name}, mutation: Mutations::#{singularized_class_name.camelize}::Update#{singularized_class_name.camelize}"
|
459
|
+
puts "field :delete_#{singularized_class_name}, mutation: Mutations::#{singularized_class_name.camelize}::Delete#{singularized_class_name.camelize}"
|
460
|
+
puts "\n\n#############################################################################################################"
|
436
461
|
end
|
437
462
|
|
438
463
|
def create_query class_name: "souls"
|
@@ -480,6 +505,12 @@ module Souls
|
|
480
505
|
singularized_class_name = class_name.singularize
|
481
506
|
create_query class_name: singularized_class_name
|
482
507
|
create_queries class_name: singularized_class_name
|
508
|
+
puts "\n#############################################################################################################"
|
509
|
+
puts "\nAdd these lines at `./app/graphql/types/query_type.rb`"
|
510
|
+
puts "\n\n"
|
511
|
+
puts "field :#{singularized_class_name}, resolber: Queries::#{singularized_class_name.camelize}"
|
512
|
+
puts "field :#{singularized_class_name.pluralize}, Types::#{singularized_class_name.camelize}Type.connection_type, null: true"
|
513
|
+
puts "\n\n#############################################################################################################"
|
483
514
|
end
|
484
515
|
|
485
516
|
def create_type_head class_name: "souls"
|
@@ -623,6 +654,17 @@ module Souls
|
|
623
654
|
end
|
624
655
|
end
|
625
656
|
|
657
|
+
def get_tables
|
658
|
+
path = "./db/schema.rb"
|
659
|
+
tables = []
|
660
|
+
File.open(path, "r") do |f|
|
661
|
+
f.each_line.with_index do |line, i|
|
662
|
+
tables << line.split("\"")[1] if line.include?("create_table")
|
663
|
+
end
|
664
|
+
end
|
665
|
+
tables
|
666
|
+
end
|
667
|
+
|
626
668
|
def add_mutation_type class_name: "souls"
|
627
669
|
# let's do this later
|
628
670
|
end
|
@@ -632,13 +674,13 @@ module Souls
|
|
632
674
|
end
|
633
675
|
|
634
676
|
def migration class_name: "souls"
|
635
|
-
`rake db:migrate`
|
677
|
+
# `rake db:migrate`
|
636
678
|
model class_name: class_name
|
637
|
-
mutation class_name: class_name
|
638
|
-
query class_name: class_name
|
639
679
|
type class_name: class_name
|
640
680
|
rspec_factory class_name: class_name
|
641
681
|
rspec_model class_name: class_name
|
682
|
+
query class_name: class_name
|
683
|
+
mutation class_name: class_name
|
642
684
|
end
|
643
685
|
end
|
644
686
|
end
|
data/lib/souls/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: souls
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- POPPIN-FUMI
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date: 2021-01-
|
13
|
+
date: 2021-01-22 00:00:00.000000000 Z
|
14
14
|
dependencies: []
|
15
15
|
description: SOULS is a Web Application Framework for Microservices on Multi Cloud
|
16
16
|
Platform such as Google Cloud Platform, Amazon Web Services, and Alibaba Cloud.
|