souls 0.13.6 → 0.14.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 074c5b354d039e12a5e400190e8268ea463ca5cb16e0b2dd0939060298dab8ca
4
- data.tar.gz: fbdc806f48d8eede59f2a811db864d6df35950864f3c8c655ea49c52ca29b02b
3
+ metadata.gz: fdf94732ef2ecdb223a4941565373da8745b191a7b80aed563ad6779cfcdbe64
4
+ data.tar.gz: 5c0556e3cbfcbc050834a91038e7cc4b73ebddce08f0fb17c1b8827f5a5b3f01
5
5
  SHA512:
6
- metadata.gz: a40cc9942ac7985c7015a99cf5ae542a8df1465cd0941e083c518ca625b31a0874e9b5d1ae3ce2de8777361e080c3c44bc8fc3a25f3fc8a7743d2795564018d1
7
- data.tar.gz: badfbba685bdf59298195e2995a7c33577a5dadddb5580eb512d30d5ece1186e37806ba787aaf89ad41545159009de241f52827aefddf465fa504d6f6ec801be
6
+ metadata.gz: fc1b10c295d6e00585f013bde4c589bd5135bc47417548901f7f45a4268cbeff628d1aa18780f1fa3224040dbad2a9c4cb95e09f9b03306ac0d388f4d921d25c
7
+ data.tar.gz: d23b7557595cffca27e78f80f3a6a78c11e3a31fa365b20a0e0502968140bfd374f2c6cce2205495f1c1506eac1250af9b9675480c6dbd036e0dc93f6df97fb9
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- souls (0.13.5)
4
+ souls (0.14.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/exe/souls CHANGED
@@ -13,27 +13,27 @@ begin
13
13
  puts "you need to specify your app name \n `souls new app_name`"
14
14
  exit
15
15
  end
16
- puts "Which framework: \n 1. SOULS gRPC Service \n 2. SOULS GraphQL API gRPC compatible \n 3. SOULS GraphQL API \n 4. SOULS Media Web \n 5. SOULS Admin Web \n Enter Number: "
16
+ puts "Which framework: \n 1. SOULS GraphQL API \n 2. SOULS GraphQL API gRPC compatible \n 3. SOULS gRPC Service \n 4. SOULS Media Web \n 5. SOULS Admin Web \n Enter Number: "
17
17
  strain = STDIN.gets.chomp.to_i
18
18
  (1..5).include?(strain) ? puts("Generating Souls.. \n") : raise(StandardError, "Choose Number 1..5")
19
19
  Souls::Init.create_souls strain: strain, app_name: ARGV[1]
20
20
  when "s", "server"
21
21
  strain = Souls.configuration.strain
22
22
  case strain
23
- when "api", "graph"
24
- system "bundle exec puma -p 3000"
23
+ when "media", "admin"
24
+ system "yarn dev"
25
25
  when "service"
26
26
  system "bundle exec rake run_server"
27
27
  else
28
- system "yarn dev"
28
+ system "bundle exec puma -p 3000"
29
29
  end
30
30
  when "c", "console"
31
31
  strain = Souls.configuration.strain
32
32
  case strain
33
- when "api", "graph", "service"
34
- system "bundle exec irb"
35
- else
33
+ when "media", "admin"
36
34
  system "yarn dev"
35
+ else
36
+ system "bundle exec irb"
37
37
  end
38
38
  when "i", "infra"
39
39
  Souls.send ARGV[1]
data/lib/souls/init.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Souls
2
- STRAINS = ["service", "api", "graph", "media", "admin"]
2
+ STRAINS = ["graph", "api", "service", "media", "admin"]
3
3
  module Init
4
4
  class << self
5
5
  def create_souls strain: 1, app_name: "souls"
@@ -723,67 +723,115 @@ module Souls
723
723
  f.write <<~EOS
724
724
  RSpec.describe \"#{class_name.camelize} Mutation テスト\" do
725
725
  describe "#{class_name.camelize} データを登録する" do
726
- let(:#{class_name.singularize.underscore}) { FactoryBot.attributes_for(:#{class_name.singularize.underscore}) }
727
-
728
- let(:mutation) do
729
- %(mutation {
730
- create#{class_name.camelize}(input: {
731
726
  EOS
732
727
  end
733
728
  end
734
729
 
735
- def rspec_mutation_params class_name: "souls"
736
- file_path = "./spec/mutations/#{class_name.singularize}_spec.rb"
737
- path = "./db/schema.rb"
738
- @on = false
739
- @user_exist = false
740
- File.open(file_path, "a") do |new_line|
741
- File.open(path, "r") do |f|
742
- f.each_line.with_index do |line, i|
743
- if @on
744
- if line.include?("end") || line.include?("t.index")
745
- new_line.write " }) {\n #{class_name.singularize.camelize(:lower)} {\n id\n"
746
- break
747
- end
748
- type, name = line.split(",")[0].gsub("\"", "").scan(/((?<=t\.).+(?=\s)) (.+)/)[0]
749
- array_true = line.include?("array: true")
750
- case name
751
- when "created_at", "updated_at"
752
- next
753
- when "user_id"
754
- @user_exist = true
730
+ def rspec_mutation_after_head class_name: "souls"
731
+ file_path = "./spec/mutations/#{class_name.singularize}_spec.rb"
732
+ path = "./db/schema.rb"
733
+ @on = false
734
+ @user_exist = false
735
+ @relation_params = []
736
+ File.open(file_path, "a") do |new_line|
737
+ File.open(path, "r") do |f|
738
+ f.each_line.with_index do |line, i|
739
+ if @on
740
+ if line.include?("end") || line.include?("t.index")
741
+ if @relation_params.empty?
742
+ new_line.write <<-EOS
743
+ let(:#{class_name}) { FactoryBot.attributes_for(:#{class_name}) }
744
+
745
+ let(:mutation) do
746
+ %(mutation {
747
+ create#{class_name.camelize}(input: {
748
+ EOS
755
749
  else
756
- case type
757
- when "string", "text", "date", "datetime"
758
- if array_true && name != "tag"
759
- new_line.write " #{name.pluralize.camelize(:lower)}: \#{#{class_name.singularize}[:#{name.pluralize.underscore}]}\n"
760
- else
761
- new_line.write " #{name.singularize.camelize(:lower)}: \"\#{#{class_name.singularize}[:#{name.singularize.underscore}]}\"\n"
762
- end
763
- when "bigint", "integer", "float", "boolean"
764
- new_line.write " #{name.singularize.camelize(:lower)}: \#{#{class_name.singularize}[:#{name.singularize.underscore}]}\n"
765
- end
750
+ new_line.write <<-EOS
751
+
752
+ get_global_key = proc { |class_name, id| Base64.encode64(\"\#{class_name}:\#{id}\") }
753
+ let(:#{class_name}) { FactoryBot.attributes_for(:#{class_name}, #{@relation_params.join(", ")}) }
754
+
755
+ let(:mutation) do
756
+ %(mutation {
757
+ create#{class_name.camelize}(input: {
758
+ EOS
766
759
  end
760
+ break
767
761
  end
768
- if table_check(line: line, class_name: class_name)
769
- @on = true
762
+ _, name = line.split(",")[0].gsub("\"", "").scan(/((?<=t\.).+(?=\s)) (.+)/)[0]
763
+ case name
764
+ when "user_id"
765
+ relation_col = name.gsub("_id", "")
766
+ new_line.write " let(:#{relation_col}) { FactoryBot.create(:#{relation_col}) }\n"
767
+ when /$*_id\z/
768
+ relation_col = name.gsub("_id", "")
769
+ @relation_params << "#{name}: get_global_key.call(\"#{name.singularize.camelize.gsub("Id", "")}\", #{relation_col}.id)"
770
+ new_line.write " let(:#{relation_col}) { FactoryBot.create(:#{relation_col}) }\n"
770
771
  end
771
772
  end
773
+ if table_check(line: line, class_name: class_name)
774
+ @on = true
775
+ end
772
776
  end
773
777
  end
774
778
  end
779
+ end
775
780
 
776
- def rspec_mutation_params_response class_name: "souls"
777
- file_path = "./spec/mutations/#{class_name.singularize}_spec.rb"
778
- path = "./db/schema.rb"
779
- @on = false
780
- File.open(file_path, "a") do |new_line|
781
- File.open(path, "r") do |f|
782
- f.each_line.with_index do |line, i|
783
- if @on
784
- if line.include?("end") || line.include?("t.index")
785
- if @user_exist
786
- new_line.write <<-EOS
781
+ def rspec_mutation_params class_name: "souls"
782
+ file_path = "./spec/mutations/#{class_name.singularize}_spec.rb"
783
+ path = "./db/schema.rb"
784
+ @on = false
785
+ @user_exist = false
786
+ File.open(file_path, "a") do |new_line|
787
+ File.open(path, "r") do |f|
788
+ f.each_line.with_index do |line, i|
789
+ if @on
790
+ if line.include?("end") || line.include?("t.index")
791
+ new_line.write " }) {\n #{class_name.singularize.camelize(:lower)} {\n id\n"
792
+ break
793
+ end
794
+ type, name = line.split(",")[0].gsub("\"", "").scan(/((?<=t\.).+(?=\s)) (.+)/)[0]
795
+ array_true = line.include?("array: true")
796
+ case name
797
+ when "created_at", "updated_at"
798
+ next
799
+ when "user_id"
800
+ @user_exist = true
801
+ when /$*_id\z/
802
+ new_line.write " #{name.singularize.camelize(:lower)}: \"\#{#{class_name.singularize}[:#{name.singularize.underscore}]}\"\n"
803
+ else
804
+ case type
805
+ when "string", "text", "date", "datetime"
806
+ if array_true
807
+ new_line.write " #{name.pluralize.camelize(:lower)}: \#{#{class_name.singularize}[:#{name.pluralize.underscore}]}\n"
808
+ else
809
+ new_line.write " #{name.singularize.camelize(:lower)}: \"\#{#{class_name.singularize}[:#{name.singularize.underscore}]}\"\n"
810
+ end
811
+ when "bigint", "integer", "float", "boolean"
812
+ new_line.write " #{name.singularize.camelize(:lower)}: \#{#{class_name.singularize}[:#{name.singularize.underscore}]}\n"
813
+ end
814
+ end
815
+ end
816
+ if table_check(line: line, class_name: class_name)
817
+ @on = true
818
+ end
819
+ end
820
+ end
821
+ end
822
+ end
823
+
824
+ def rspec_mutation_params_response class_name: "souls"
825
+ file_path = "./spec/mutations/#{class_name.singularize}_spec.rb"
826
+ path = "./db/schema.rb"
827
+ @on = false
828
+ File.open(file_path, "a") do |new_line|
829
+ File.open(path, "r") do |f|
830
+ f.each_line.with_index do |line, i|
831
+ if @on
832
+ if line.include?("end") || line.include?("t.index")
833
+ if @user_exist
834
+ new_line.write <<-EOS
787
835
  }
788
836
  }
789
837
  }
@@ -801,9 +849,9 @@ module Souls
801
849
  a1 = result.dig("data", "create#{class_name.singularize.camelize}", "#{class_name.singularize.camelize(:lower)}")
802
850
  expect(a1).to include(
803
851
  "id" => be_a(String),
804
- EOS
805
- else
806
- new_line.write <<-EOS
852
+ EOS
853
+ else
854
+ new_line.write <<-EOS
807
855
  }
808
856
  }
809
857
  }
@@ -818,81 +866,82 @@ module Souls
818
866
  a1 = result.dig("data", "create#{class_name.singularize.camelize}", "#{class_name.singularize.camelize(:lower)}")
819
867
  expect(a1).to include(
820
868
  "id" => be_a(String),
821
- EOS
822
- end
823
- break
869
+ EOS
824
870
  end
825
- _, name = line.split(",")[0].gsub("\"", "").scan(/((?<=t\.).+(?=\s)) (.+)/)[0]
826
- array_true = line.include?("array: true")
827
- case name
828
- when "user_id", "created_at", "updated_at"
829
- next
871
+ break
872
+ end
873
+ _, name = line.split(",")[0].gsub("\"", "").scan(/((?<=t\.).+(?=\s)) (.+)/)[0]
874
+ array_true = line.include?("array: true")
875
+ case name
876
+ when "user_id", "created_at", "updated_at", /$*_id\z/
877
+ next
878
+ else
879
+ if array_true
880
+ new_line.write " #{name.pluralize.camelize(:lower)}\n"
830
881
  else
831
- if array_true
832
- new_line.write " #{name.pluralize.camelize(:lower)}\n"
833
- else
834
- new_line.write " #{name.singularize.camelize(:lower)}\n"
835
- end
882
+ new_line.write " #{name.singularize.camelize(:lower)}\n"
836
883
  end
837
884
  end
838
- if table_check(line: line, class_name: class_name)
839
- @on = true
840
- end
885
+ end
886
+ if table_check(line: line, class_name: class_name)
887
+ @on = true
841
888
  end
842
889
  end
843
890
  end
844
891
  end
892
+ end
845
893
 
846
- def rspec_mutation_end class_name: "souls"
847
- file_path = "./spec/mutations/#{class_name.singularize}_spec.rb"
848
- path = "./db/schema.rb"
849
- @on = false
850
- File.open(file_path, "a") do |new_line|
851
- File.open(path, "r") do |f|
852
- f.each_line.with_index do |line, i|
853
- if @on
854
- if line.include?("end") || line.include?("t.index")
855
- new_line.write <<~EOS
856
- )
857
- end
894
+ def rspec_mutation_end class_name: "souls"
895
+ file_path = "./spec/mutations/#{class_name.singularize}_spec.rb"
896
+ path = "./db/schema.rb"
897
+ @on = false
898
+ File.open(file_path, "a") do |new_line|
899
+ File.open(path, "r") do |f|
900
+ f.each_line.with_index do |line, i|
901
+ if @on
902
+ if line.include?("end") || line.include?("t.index")
903
+ new_line.write <<~EOS
904
+ )
858
905
  end
859
906
  end
860
- EOS
861
- break
862
- end
863
- type, name = line.split(",")[0].gsub("\"", "").scan(/((?<=t\.).+(?=\s)) (.+)/)[0]
864
- field ||= type_check type
865
- array_true = line.include?("array: true")
866
- case name
867
- when "user_id", "created_at", "updated_at"
868
- next
869
- else
870
- case type
871
- when "text", "date", "datetime"
872
- if array_true
873
- new_line.write " \"#{name.pluralize.camelize(:lower)}\" => be_all(String),\n"
874
- else
875
- new_line.write " \"#{name.singularize.camelize(:lower)}\" => be_a(String),\n"
876
907
  end
877
- when "boolean"
878
- new_line.write " \"#{name.singularize.camelize(:lower)}\" => be_in([true, false]),\n"
879
- when "string", "bigint", "integer", "float"
880
- new_line.write " \"#{name.singularize.camelize(:lower)}\" => be_a(#{field}),\n"
881
- end
882
- end
908
+ EOS
909
+ break
883
910
  end
884
- if table_check(line: line, class_name: class_name)
885
- @on = true
911
+ type, name = line.split(",")[0].gsub("\"", "").scan(/((?<=t\.).+(?=\s)) (.+)/)[0]
912
+ field ||= type_check type
913
+ array_true = line.include?("array: true")
914
+ case name
915
+ when "user_id", "created_at", "updated_at", /$*_id\z/
916
+ next
917
+ else
918
+ case type
919
+ when "text", "date", "datetime"
920
+ if array_true
921
+ new_line.write " \"#{name.pluralize.camelize(:lower)}\" => be_all(String),\n"
922
+ else
923
+ new_line.write " \"#{name.singularize.camelize(:lower)}\" => be_a(String),\n"
924
+ end
925
+ when "boolean"
926
+ new_line.write " \"#{name.singularize.camelize(:lower)}\" => be_in([true, false]),\n"
927
+ when "string", "bigint", "integer", "float"
928
+ new_line.write " \"#{name.singularize.camelize(:lower)}\" => be_a(#{field}),\n"
929
+ end
886
930
  end
887
931
  end
932
+ if table_check(line: line, class_name: class_name)
933
+ @on = true
934
+ end
888
935
  end
889
936
  end
890
- [file_path]
891
937
  end
938
+ [file_path]
939
+ end
892
940
 
893
941
  def rspec_mutation class_name: "souls"
894
942
  singularized_class_name = class_name.singularize
895
943
  rspec_mutation_head class_name: singularized_class_name
944
+ rspec_mutation_after_head class_name: singularized_class_name
896
945
  rspec_mutation_params class_name: singularized_class_name
897
946
  rspec_mutation_params_response class_name: singularized_class_name
898
947
  rspec_mutation_end class_name: singularized_class_name
@@ -904,109 +953,154 @@ module Souls
904
953
  f.write <<~EOS
905
954
  RSpec.describe \"#{class_name.camelize} Query テスト\" do
906
955
  describe "#{class_name.camelize} データを取得する" do
907
- let!(:#{class_name.singularize.underscore}) { FactoryBot.create(:#{class_name.singularize.underscore}) }
908
-
909
- let(:query) do
910
- data_id = Base64.encode64("#{class_name.camelize}:\#{#{class_name.singularize.underscore}.id}")
911
- %(query {
912
- #{class_name.singularize.camelize(:lower)}(id: \\"\#{data_id}\\") {
913
- id
914
956
  EOS
915
957
  end
916
958
  end
917
959
 
918
- def rspec_query_params class_name: "souls"
919
- file_path = "./spec/queries/#{class_name.singularize}_spec.rb"
920
- path = "./db/schema.rb"
921
- @on = false
922
- File.open(file_path, "a") do |new_line|
923
- File.open(path, "r") do |f|
924
- f.each_line.with_index do |line, i|
925
- if @on
926
- if line.include?("end") || line.include?("t.index")
927
- new_line.write <<-EOS
928
- }
960
+ def rspec_query_after_head class_name: "souls"
961
+ file_path = "./spec/queries/#{class_name.singularize}_spec.rb"
962
+ path = "./db/schema.rb"
963
+ @on = false
964
+ @user_exist = false
965
+ @relation_params = []
966
+ File.open(file_path, "a") do |new_line|
967
+ File.open(path, "r") do |f|
968
+ f.each_line.with_index do |line, i|
969
+ if @on
970
+ if line.include?("end") || line.include?("t.index")
971
+ if @relation_params.empty?
972
+ new_line.write <<-EOS
973
+ let(:#{class_name}) { FactoryBot.create(:#{class_name}) }
974
+
975
+ let(:query) do
976
+ data_id = Base64.encode64("#{class_name.camelize}:\#{#{class_name.singularize.underscore}.id}")
977
+ %(query {
978
+ #{class_name.singularize.camelize(:lower)}(id: \\"\#{data_id}\\") {
979
+ id
980
+ EOS
981
+ break
982
+ else
983
+ new_line.write <<-EOS
984
+ let(:#{class_name}) { FactoryBot.create(:#{class_name}, #{@relation_params.join(", ")}) }
985
+
986
+ let(:query) do
987
+ data_id = Base64.encode64("#{class_name.camelize}:\#{#{class_name.singularize.underscore}.id}")
988
+ %(query {
989
+ #{class_name.singularize.camelize(:lower)}(id: \\"\#{data_id}\\") {
990
+ id
991
+ EOS
992
+ break
993
+ end
994
+ end
995
+ _, name = line.split(",")[0].gsub("\"", "").scan(/((?<=t\.).+(?=\s)) (.+)/)[0]
996
+ case name
997
+ when /$*_id\z/
998
+ relation_col = name.gsub("_id", "")
999
+ @relation_params << "#{name}: #{relation_col}.id"
1000
+ new_line.write " let(:#{relation_col}) { FactoryBot.create(:#{relation_col}) }\n"
1001
+ end
1002
+ end
1003
+ if table_check(line: line, class_name: class_name)
1004
+ @on = true
1005
+ end
1006
+ end
1007
+ end
1008
+ end
1009
+ end
1010
+
1011
+ def rspec_query_params class_name: "souls"
1012
+ file_path = "./spec/queries/#{class_name.singularize}_spec.rb"
1013
+ path = "./db/schema.rb"
1014
+ @on = false
1015
+ File.open(file_path, "a") do |new_line|
1016
+ File.open(path, "r") do |f|
1017
+ f.each_line.with_index do |line, i|
1018
+ if @on
1019
+ if line.include?("end") || line.include?("t.index")
1020
+ new_line.write <<-EOS
929
1021
  }
930
- )
931
- end
1022
+ }
1023
+ )
1024
+ end
932
1025
 
933
- subject(:result) do
934
- SoulsApiSchema.execute(query).as_json
935
- end
1026
+ subject(:result) do
1027
+ SoulsApiSchema.execute(query).as_json
1028
+ end
936
1029
 
937
- it "return #{class_name.camelize} Data" do
938
- a1 = result.dig("data", "#{class_name.singularize.camelize(:lower)}")
939
- expect(a1).to include(
940
- "id" => be_a(String),
941
- EOS
942
- break
943
- end
944
- _, name = line.split(",")[0].gsub("\"", "").scan(/((?<=t\.).+(?=\s)) (.+)/)[0]
945
- case name
946
- when "user_id", "created_at", "updated_at"
947
- next
948
- else
949
- new_line.write " #{name.singularize.camelize(:lower)}\n"
950
- end
1030
+ it "return #{class_name.camelize} Data" do
1031
+ a1 = result.dig("data", "#{class_name.singularize.camelize(:lower)}")
1032
+ expect(a1).to include(
1033
+ "id" => be_a(String),
1034
+ EOS
1035
+ break
951
1036
  end
952
- if table_check(line: line, class_name: class_name)
953
- @on = true
1037
+ _, name = line.split(",")[0].gsub("\"", "").scan(/((?<=t\.).+(?=\s)) (.+)/)[0]
1038
+ case name
1039
+ when "user_id", "created_at", "updated_at", /$*_id\z/
1040
+ next
1041
+ else
1042
+ new_line.write " #{name.camelize(:lower)}\n"
954
1043
  end
955
1044
  end
1045
+ if table_check(line: line, class_name: class_name)
1046
+ @on = true
1047
+ end
956
1048
  end
957
1049
  end
958
1050
  end
1051
+ end
959
1052
 
960
- def rspec_query_end class_name: "souls"
961
- file_path = "./spec/queries/#{class_name.singularize}_spec.rb"
962
- path = "./db/schema.rb"
963
- @on = false
964
- File.open(file_path, "a") do |new_line|
965
- File.open(path, "r") do |f|
966
- f.each_line.with_index do |line, i|
967
- if @on
968
- if line.include?("end") || line.include?("t.index")
969
- new_line.write <<-EOS
1053
+ def rspec_query_end class_name: "souls"
1054
+ file_path = "./spec/queries/#{class_name.singularize}_spec.rb"
1055
+ path = "./db/schema.rb"
1056
+ @on = false
1057
+ File.open(file_path, "a") do |new_line|
1058
+ File.open(path, "r") do |f|
1059
+ f.each_line.with_index do |line, i|
1060
+ if @on
1061
+ if line.include?("end") || line.include?("t.index")
1062
+ new_line.write <<-EOS
970
1063
  )
971
1064
  end
972
1065
  end
973
1066
  end
974
- EOS
975
- break
976
- end
977
- type, name = line.split(",")[0].gsub("\"", "").scan(/((?<=t\.).+(?=\s)) (.+)/)[0]
978
- field ||= type_check type
979
- array_true = line.include?("array: true")
980
- case name
981
- when "user_id", "created_at", "updated_at"
982
- next
983
- else
984
- case type
985
- when "text", "date", "datetime"
986
- if array_true
987
- new_line.write " \"#{name.singularize.camelize(:lower)}\" => be_all(String),\n"
988
- else
989
- new_line.write " \"#{name.singularize.camelize(:lower)}\" => be_a(String),\n"
990
- end
991
- when "boolean"
992
- new_line.write " \"#{name.singularize.camelize(:lower)}\" => be_in([true, false]),\n"
993
- when "string", "bigint", "integer", "float"
994
- new_line.write " \"#{name.singularize.camelize(:lower)}\" => be_a(#{field}),\n"
995
- end
996
- end
1067
+ EOS
1068
+ break
997
1069
  end
998
- if table_check(line: line, class_name: class_name)
999
- @on = true
1070
+ type, name = line.split(",")[0].gsub("\"", "").scan(/((?<=t\.).+(?=\s)) (.+)/)[0]
1071
+ field ||= type_check type
1072
+ array_true = line.include?("array: true")
1073
+ case name
1074
+ when "user_id", "created_at", "updated_at", /$*_id\z/
1075
+ next
1076
+ else
1077
+ case type
1078
+ when "text", "date", "datetime"
1079
+ if array_true
1080
+ new_line.write " \"#{name.camelize(:lower)}\" => be_all(String),\n"
1081
+ else
1082
+ new_line.write " \"#{name.camelize(:lower)}\" => be_a(String),\n"
1083
+ end
1084
+ when "boolean"
1085
+ new_line.write " \"#{name.singularize.camelize(:lower)}\" => be_in([true, false]),\n"
1086
+ when "string", "bigint", "integer", "float"
1087
+ new_line.write " \"#{name.singularize.camelize(:lower)}\" => be_a(#{field}),\n"
1088
+ end
1000
1089
  end
1001
1090
  end
1091
+ if table_check(line: line, class_name: class_name)
1092
+ @on = true
1093
+ end
1002
1094
  end
1003
1095
  end
1004
- [file_path]
1005
1096
  end
1097
+ [file_path]
1098
+ end
1006
1099
 
1007
1100
  def rspec_query class_name: "souls"
1008
1101
  singularized_class_name = class_name.singularize
1009
1102
  rspec_query_head class_name: singularized_class_name
1103
+ rspec_query_after_head class_name: singularized_class_name
1010
1104
  rspec_query_params class_name: singularized_class_name
1011
1105
  rspec_query_end class_name: singularized_class_name
1012
1106
  end
data/lib/souls/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Souls
2
- VERSION = "0.13.6"
2
+ VERSION = "0.14.1"
3
3
  end
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.13.6
4
+ version: 0.14.1
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-31 00:00:00.000000000 Z
13
+ date: 2021-02-02 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.
@@ -69,7 +69,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
69
69
  - !ruby/object:Gem::Version
70
70
  version: '0'
71
71
  requirements: []
72
- rubygems_version: 3.2.4
72
+ rubygems_version: 3.2.3
73
73
  signing_key:
74
74
  specification_version: 4
75
75
  summary: SOULS is a GraphQL Based Web Application Framework for Microservices on Multi