souls 0.13.8 → 0.14.3

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: f017a0b2dc2d05a5e78b857b3e437a931d976c0ab0b6c83625ee62f7109092b1
4
- data.tar.gz: 23bfc89940d3018c6626d38f4cef322829f224acd541100e92f696a3040155c9
3
+ metadata.gz: 6d23a325d465a04acf398abbe43f7b437a2bf80b9f9d6781e7dce9e6d2869e3f
4
+ data.tar.gz: 0461a1b6872078e0c2df3e63376676c1158d928df2058ed72598b077b95bc789
5
5
  SHA512:
6
- metadata.gz: c228b2dcf307527d6732a37e1b6f8694de43a1641e092a2cee49d1cf3a19595bd52581bb2842e0703e4316ca62335856e4e73960487a2be57dda3d632dd4c424
7
- data.tar.gz: 70b3e91e48d84161cf97210a8adc360c7266fafef31729a4e18eee2adad7470c0cfaa3c37e40ebca7dc9acac178208dac734d002e87fe93c52d0d6c57a8531b8
6
+ metadata.gz: 6fb6c07afbc8dbc4652e77e4ef65d414e1a4041dddc72bf71e8b8ce54cad84cbf450bda3e4f5876dadb5ebdc63993de280c29648aafe575c0d603ea10054b985
7
+ data.tar.gz: 518118fef287de1dfcf33b7fcf9a9bdfac97d6c470337640bb6d72562f01bdbee6c02a682c6e7044a7d74f8e7d5ded67bdde98a96d8cd57537f82bee5663bdc1
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- souls (0.13.7)
4
+ souls (0.14.2)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/lib/souls/init.rb CHANGED
@@ -723,7 +723,6 @@ module Souls
723
723
  f.write <<~EOS
724
724
  RSpec.describe \"#{class_name.camelize} Mutation テスト\" do
725
725
  describe "#{class_name.camelize} データを登録する" do
726
- get_global_key = proc {|class_name, id| Base64.encode64(\"\#{class_name}:\#{id}\")}
727
726
  EOS
728
727
  end
729
728
  end
@@ -739,20 +738,37 @@ module Souls
739
738
  f.each_line.with_index do |line, i|
740
739
  if @on
741
740
  if line.include?("end") || line.include?("t.index")
742
- new_line.write <<-EOS
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
749
+ else
750
+ new_line.write <<-EOS
751
+
752
+ def get_global_key class_name, id
753
+ Base64.encode64(\"\#{class_name}:\#{id}\")
754
+ end
743
755
  let(:#{class_name}) { FactoryBot.attributes_for(:#{class_name}, #{@relation_params.join(", ")}) }
744
756
 
745
757
  let(:mutation) do
746
758
  %(mutation {
747
759
  create#{class_name.camelize}(input: {
748
- EOS
760
+ EOS
761
+ end
749
762
  break
750
763
  end
751
764
  _, name = line.split(",")[0].gsub("\"", "").scan(/((?<=t\.).+(?=\s)) (.+)/)[0]
752
765
  case name
766
+ when "user_id"
767
+ relation_col = name.gsub("_id", "")
768
+ new_line.write " let(:#{relation_col}) { FactoryBot.create(:#{relation_col}) }\n"
753
769
  when /$*_id\z/
754
770
  relation_col = name.gsub("_id", "")
755
- @relation_params << "#{name}: get_global_key.call(\"#{name.singularize.camelize.gsub("Id", "")}\", #{relation_col}.id)"
771
+ @relation_params << "#{name}: get_global_key(\"#{name.singularize.camelize.gsub("Id", "")}\", #{relation_col}.id)"
756
772
  new_line.write " let(:#{relation_col}) { FactoryBot.create(:#{relation_col}) }\n"
757
773
  end
758
774
  end
@@ -789,7 +805,7 @@ module Souls
789
805
  else
790
806
  case type
791
807
  when "string", "text", "date", "datetime"
792
- if array_true && name != "tag"
808
+ if array_true
793
809
  new_line.write " #{name.pluralize.camelize(:lower)}: \#{#{class_name.singularize}[:#{name.pluralize.underscore}]}\n"
794
810
  else
795
811
  new_line.write " #{name.singularize.camelize(:lower)}: \"\#{#{class_name.singularize}[:#{name.singularize.underscore}]}\"\n"
@@ -954,6 +970,18 @@ module Souls
954
970
  f.each_line.with_index do |line, i|
955
971
  if @on
956
972
  if line.include?("end") || line.include?("t.index")
973
+ if @relation_params.empty?
974
+ new_line.write <<-EOS
975
+ let(:#{class_name}) { FactoryBot.create(:#{class_name}) }
976
+
977
+ let(:query) do
978
+ data_id = Base64.encode64("#{class_name.camelize}:\#{#{class_name.singularize.underscore}.id}")
979
+ %(query {
980
+ #{class_name.singularize.camelize(:lower)}(id: \\"\#{data_id}\\") {
981
+ id
982
+ EOS
983
+ break
984
+ else
957
985
  new_line.write <<-EOS
958
986
  let(:#{class_name}) { FactoryBot.create(:#{class_name}, #{@relation_params.join(", ")}) }
959
987
 
@@ -964,6 +992,7 @@ module Souls
964
992
  id
965
993
  EOS
966
994
  break
995
+ end
967
996
  end
968
997
  _, name = line.split(",")[0].gsub("\"", "").scan(/((?<=t\.).+(?=\s)) (.+)/)[0]
969
998
  case name
@@ -1012,7 +1041,7 @@ module Souls
1012
1041
  when "user_id", "created_at", "updated_at", /$*_id\z/
1013
1042
  next
1014
1043
  else
1015
- new_line.write " #{name.singularize.camelize(:lower)}\n"
1044
+ new_line.write " #{name.camelize(:lower)}\n"
1016
1045
  end
1017
1046
  end
1018
1047
  if table_check(line: line, class_name: class_name)
@@ -1050,9 +1079,9 @@ end
1050
1079
  case type
1051
1080
  when "text", "date", "datetime"
1052
1081
  if array_true
1053
- new_line.write " \"#{name.singularize.camelize(:lower)}\" => be_all(String),\n"
1082
+ new_line.write " \"#{name.camelize(:lower)}\" => be_all(String),\n"
1054
1083
  else
1055
- new_line.write " \"#{name.singularize.camelize(:lower)}\" => be_a(String),\n"
1084
+ new_line.write " \"#{name.camelize(:lower)}\" => be_a(String),\n"
1056
1085
  end
1057
1086
  when "boolean"
1058
1087
  new_line.write " \"#{name.singularize.camelize(:lower)}\" => be_in([true, false]),\n"
data/lib/souls/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Souls
2
- VERSION = "0.13.8"
2
+ VERSION = "0.14.3"
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.8
4
+ version: 0.14.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - POPPIN-FUMI