souls 0.22.3 → 0.22.7

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.
Files changed (123) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -0
  3. data/Gemfile.lock +6 -3
  4. data/exe/souls +27 -6
  5. data/hoy/.env.sample +7 -0
  6. data/hoy/.gitignore +32 -0
  7. data/hoy/.irbrc +1 -0
  8. data/hoy/.rspec +3 -0
  9. data/hoy/.rubocop.yml +132 -0
  10. data/hoy/.ruby-version +1 -0
  11. data/hoy/CODE_OF_CONDUCT.md +74 -0
  12. data/hoy/Dockerfile +16 -0
  13. data/hoy/Dockerfile.dev +17 -0
  14. data/hoy/Gemfile +50 -0
  15. data/hoy/Gemfile.lock +407 -0
  16. data/hoy/LICENSE.txt +67 -0
  17. data/hoy/Procfile +2 -0
  18. data/hoy/Procfile.dev +2 -0
  19. data/hoy/README.md +61 -0
  20. data/hoy/Rakefile +5 -0
  21. data/hoy/app.rb +116 -0
  22. data/hoy/app/graphql/mutations/.keep +0 -0
  23. data/hoy/app/graphql/mutations/base/article/create_article.rb +30 -0
  24. data/hoy/app/graphql/mutations/base/article/delete_article.rb +17 -0
  25. data/hoy/app/graphql/mutations/base/article/destroy_delete_article.rb +17 -0
  26. data/hoy/app/graphql/mutations/base/article/update_article.rb +30 -0
  27. data/hoy/app/graphql/mutations/base/article_category/create_article_category.rb +21 -0
  28. data/hoy/app/graphql/mutations/base/article_category/delete_article_category.rb +17 -0
  29. data/hoy/app/graphql/mutations/base/article_category/destroy_delete_article_category.rb +17 -0
  30. data/hoy/app/graphql/mutations/base/article_category/update_article_category.rb +21 -0
  31. data/hoy/app/graphql/mutations/base/user/create_user.rb +31 -0
  32. data/hoy/app/graphql/mutations/base/user/delete_user.rb +17 -0
  33. data/hoy/app/graphql/mutations/base/user/destroy_delete_user.rb +17 -0
  34. data/hoy/app/graphql/mutations/base/user/update_user.rb +31 -0
  35. data/hoy/app/graphql/mutations/base_mutation.rb +33 -0
  36. data/hoy/app/graphql/mutations/user_manager/add_user_role.rb +22 -0
  37. data/hoy/app/graphql/mutations/user_manager/remove_user_role.rb +22 -0
  38. data/hoy/app/graphql/mutations/user_manager/sign_in_user.rb +45 -0
  39. data/hoy/app/graphql/queries/article.rb +13 -0
  40. data/hoy/app/graphql/queries/article_categories.rb +11 -0
  41. data/hoy/app/graphql/queries/article_category.rb +13 -0
  42. data/hoy/app/graphql/queries/articles.rb +11 -0
  43. data/hoy/app/graphql/queries/base_query.rb +9 -0
  44. data/hoy/app/graphql/queries/me.rb +11 -0
  45. data/hoy/app/graphql/queries/user.rb +13 -0
  46. data/hoy/app/graphql/queries/users.rb +11 -0
  47. data/hoy/app/graphql/resolvers/article_category_search.rb +41 -0
  48. data/hoy/app/graphql/resolvers/article_search.rb +57 -0
  49. data/hoy/app/graphql/resolvers/base.rb +17 -0
  50. data/hoy/app/graphql/resolvers/user_search.rb +63 -0
  51. data/hoy/app/graphql/souls_api_schema.rb +43 -0
  52. data/hoy/app/graphql/types/.keep +0 -0
  53. data/hoy/app/graphql/types/article_category_type.rb +12 -0
  54. data/hoy/app/graphql/types/article_type.rb +30 -0
  55. data/hoy/app/graphql/types/base/base_argument.rb +4 -0
  56. data/hoy/app/graphql/types/base/base_enum.rb +4 -0
  57. data/hoy/app/graphql/types/base/base_field.rb +5 -0
  58. data/hoy/app/graphql/types/base/base_input_object.rb +5 -0
  59. data/hoy/app/graphql/types/base/base_interface.rb +7 -0
  60. data/hoy/app/graphql/types/base/base_object.rb +6 -0
  61. data/hoy/app/graphql/types/base/base_scalar.rb +4 -0
  62. data/hoy/app/graphql/types/base/base_union.rb +4 -0
  63. data/hoy/app/graphql/types/base/mutation_type.rb +16 -0
  64. data/hoy/app/graphql/types/base/query_type.rb +18 -0
  65. data/hoy/app/graphql/types/connections/article_category_connection.rb +3 -0
  66. data/hoy/app/graphql/types/connections/article_connection.rb +3 -0
  67. data/hoy/app/graphql/types/connections/base_connection.rb +14 -0
  68. data/hoy/app/graphql/types/connections/user_connection.rb +3 -0
  69. data/hoy/app/graphql/types/edges/article_category_edge.rb +5 -0
  70. data/hoy/app/graphql/types/edges/article_edge.rb +5 -0
  71. data/hoy/app/graphql/types/edges/base_edge.rb +4 -0
  72. data/hoy/app/graphql/types/edges/user_edge.rb +5 -0
  73. data/hoy/app/graphql/types/user_type.rb +22 -0
  74. data/hoy/app/models/article.rb +4 -0
  75. data/hoy/app/models/article_category.rb +3 -0
  76. data/hoy/app/models/user.rb +19 -0
  77. data/hoy/app/policies/application_policy.rb +40 -0
  78. data/hoy/app/policies/article_category_policy.rb +31 -0
  79. data/hoy/app/policies/article_policy.rb +31 -0
  80. data/hoy/app/policies/user_policy.rb +35 -0
  81. data/hoy/app/utils/association_loader.rb +50 -0
  82. data/hoy/app/utils/firebase_id_token.rb +4 -0
  83. data/hoy/app/utils/json_web_token.rb +13 -0
  84. data/hoy/app/utils/record_loader.rb +10 -0
  85. data/hoy/app/utils/souls_helper.rb +96 -0
  86. data/hoy/cloudbuild.yml +32 -0
  87. data/hoy/config.ru +17 -0
  88. data/hoy/config/database.yml +33 -0
  89. data/hoy/config/souls.rb +4 -0
  90. data/hoy/constants/areas.rb +71 -0
  91. data/hoy/constants/column_name_ja.rb +27 -0
  92. data/hoy/db/migrate/20200006095538_create_users.rb +30 -0
  93. data/hoy/db/migrate/20200712180236_create_article_categories.rb +12 -0
  94. data/hoy/db/migrate/20200714215521_create_articles.rb +22 -0
  95. data/hoy/db/schema.rb +78 -0
  96. data/hoy/db/seeds.rb +44 -0
  97. data/hoy/github/workflows/delivery.yml +81 -0
  98. data/hoy/log/.keep +0 -0
  99. data/hoy/spec/factories/article_categories.rb +9 -0
  100. data/hoy/spec/factories/articles.rb +17 -0
  101. data/hoy/spec/factories/users.rb +23 -0
  102. data/hoy/spec/models/article_category_spec.rb +7 -0
  103. data/hoy/spec/models/article_spec.rb +7 -0
  104. data/hoy/spec/models/user_spec.rb +7 -0
  105. data/hoy/spec/mutations/base/article_category_spec.rb +46 -0
  106. data/hoy/spec/mutations/base/article_spec.rb +70 -0
  107. data/hoy/spec/mutations/base/user_spec.rb +76 -0
  108. data/hoy/spec/policies/article_category_policy_spec.rb +25 -0
  109. data/hoy/spec/policies/article_policy_spec.rb +25 -0
  110. data/hoy/spec/policies/user_policy_spec.rb +5 -0
  111. data/hoy/spec/queries/article_category_spec.rb +39 -0
  112. data/hoy/spec/queries/article_spec.rb +53 -0
  113. data/hoy/spec/queries/user_spec.rb +59 -0
  114. data/hoy/spec/resolvers/article_category_search_spec.rb +54 -0
  115. data/hoy/spec/resolvers/article_search_spec.rb +68 -0
  116. data/hoy/spec/resolvers/user_search_spec.rb +74 -0
  117. data/hoy/spec/spec_helper.rb +110 -0
  118. data/hoy/tmp/.keep +0 -0
  119. data/lib/souls.rb +56 -12
  120. data/lib/souls/generate/mutation.rb +4 -6
  121. data/lib/souls/init.rb +16 -9
  122. data/lib/souls/version.rb +1 -1
  123. metadata +115 -1
data/hoy/tmp/.keep ADDED
File without changes
data/lib/souls.rb CHANGED
@@ -7,6 +7,7 @@ require "json"
7
7
  require "fileutils"
8
8
  require "net/http"
9
9
  require "paint"
10
+ require "whirly"
10
11
 
11
12
  module Souls
12
13
  SOULS_METHODS = [
@@ -41,9 +42,9 @@ module Souls
41
42
  def run_mysql
42
43
  system "docker run --rm -d \
43
44
  -p 3306:3306 \
44
- -v mysql-tmp:/var/lib/mysqlql/data \
45
+ -v mysql-tmp:/var/lib/mysql \
45
46
  -e MYSQL_USER=mysql \
46
- -e MYSQL_PASSWORD=mysql \
47
+ -e MYSQL_ROOT_PASSWORD=mysql \
47
48
  -e MYSQL_DB=souls_test \
48
49
  mysql:latest"
49
50
  system "docker ps"
@@ -54,21 +55,44 @@ module Souls
54
55
  system "gcloud scheduler jobs create http #{app}-awake --schedule '0,10,20,30,40,50 * * * *' --uri #{url} --http-method GET"
55
56
  end
56
57
 
58
+ def show_wait_spinner(fps = 10)
59
+ chars = %w[| / - \\]
60
+ delay = 1.0 / fps
61
+ iter = 0
62
+ spinner = Thread.new do
63
+ while iter
64
+ print chars[(iter += 1) % chars.length]
65
+ sleep delay
66
+ print "\b"
67
+ end
68
+ end
69
+ yield.tap do
70
+ iter = false
71
+ spinner.join
72
+ end
73
+ end
74
+
57
75
  def gemfile_latest_version
58
76
  file_path = "./Gemfile"
59
77
  updated_gems = []
60
78
  updated_gem_versions = []
61
79
  updated_lines = []
62
80
  console_log = []
81
+ from_dev = false
63
82
  File.open(file_path, "r") do |f|
64
83
  f.each_line do |line|
84
+ from_dev = true if line.include? "group"
65
85
  next unless line.include? "gem "
66
86
  gem = line.gsub("gem ", "").gsub("\"", "").gsub("\n", "").gsub(" ", "").split(",")
67
87
  url = URI("https://rubygems.org/api/v1/versions/#{gem[0]}/latest.json")
68
88
  res = Net::HTTP.get_response(url)
69
89
  data = JSON.parse res.body
70
90
  next if data["version"].to_s == gem[1].to_s
71
- updated_lines << "gem \"#{gem[0]}\", \"#{data["version"]}\""
91
+ updated_lines << if from_dev
92
+ " gem \"#{gem[0]}\", \"#{data["version"]}\""
93
+ else
94
+ "gem \"#{gem[0]}\", \"#{data["version"]}\""
95
+ end
72
96
  updated_gems << (gem[0]).to_s
73
97
  updated_gem_versions << data["version"]
74
98
  system "gem update #{gem[0]}"
@@ -88,21 +112,41 @@ module Souls
88
112
  tmp_file = "./tmp/Gemfile"
89
113
  new_gems = gemfile_latest_version
90
114
  logs = []
91
- return "Already Up to date!" && puts("Already Up to date!") if new_gems[:gems].blank?
115
+ message = Paint["\nAlready Up to date!", :green]
116
+ return "Already Up to date!" && puts(message) if new_gems[:gems].blank?
92
117
  @i = 0
93
118
  File.open(file_path, "r") do |f|
94
119
  File.open(tmp_file, "w") do |new_line|
95
120
  f.each_line do |line|
96
121
  gem = line.gsub("gem ", "").gsub("\"", "").gsub("\n", "").gsub(" ", "").split(",")
97
122
  if new_gems[:gems].include? gem[0]
98
- logs << Paint % [
99
- "#{gem[0]} %{yellow_text} → %{green_text}",
100
- :blue,
101
- {
102
- yellow_text: ["v#{gem[1]}", :yellow],
103
- green_text: ["v#{new_gems[:updated_gem_versions][@i]}", :green]
104
- }
105
- ]
123
+ old_ver = gem[1].split(".")
124
+ new_ver = new_gems[:updated_gem_versions][@i].split(".")
125
+ if old_ver[0] < new_ver[0]
126
+ logs << Paint % [
127
+ "#{gem[0]} v#{gem[1]} → %{red_text}",
128
+ :white,
129
+ {
130
+ red_text: ["v#{new_gems[:updated_gem_versions][@i]}", :red]
131
+ }
132
+ ]
133
+ elsif old_ver[1] < new_ver[1]
134
+ logs << Paint % [
135
+ "#{gem[0]} v#{gem[1]} → v#{new_ver[0]}.%{yellow_text}",
136
+ :white,
137
+ {
138
+ yellow_text: ["#{new_ver[1]}.#{new_ver[2]}", :yellow]
139
+ }
140
+ ]
141
+ elsif old_ver[2] < new_ver[2]
142
+ logs << Paint % [
143
+ "#{gem[0]} v#{gem[1]} → v#{new_ver[0]}.#{new_ver[1]}.%{green_text}",
144
+ :white,
145
+ {
146
+ green_text: [(new_ver[2]).to_s, :green]
147
+ }
148
+ ]
149
+ end
106
150
  new_line.write "#{new_gems[:lines][@i]}\n"
107
151
  @i += 1
108
152
  else
@@ -83,12 +83,10 @@ module Souls
83
83
  file_path = "./app/graphql/mutations/base/#{class_name}/create_#{class_name}.rb"
84
84
  File.open(file_path, "a") do |new_line|
85
85
  new_line.write <<~EOS
86
- #{class_name} = ::#{class_name.camelize}.new args
87
- if #{class_name}.save
88
- { #{class_name}_edge: { node: #{class_name} } }
89
- else
90
- { error: #{class_name}.errors.full_messages }
91
- end
86
+ data = ::#{class_name.camelize}.new args
87
+ raise(StandardError, data.errors.full_messages) unless data.save
88
+
89
+ { #{class_name}_edge: { node: data } }
92
90
  rescue StandardError => error
93
91
  GraphQL::ExecutionError.new error
94
92
  end
data/lib/souls/init.rb CHANGED
@@ -29,8 +29,11 @@ module Souls
29
29
  system "tar -zxvf ./#{version}.tar.gz"
30
30
  system "mkdir #{app_name}"
31
31
  folder = version.delete "v"
32
- system "cp -r #{repository_name}-#{folder}/. #{app_name}/"
33
- system "rm -rf #{version}.tar.gz && rm -rf #{repository_name}-#{folder}"
32
+ `cp -r #{repository_name}-#{folder}/. #{app_name}/`
33
+ `rm -rf #{version}.tar.gz && rm -rf #{repository_name}-#{folder}`
34
+ line = Paint["====================================", :yellow]
35
+ puts "\n"
36
+ puts line
34
37
  txt = <<~TEXT
35
38
  _____ ____ __ ____#{' '}
36
39
  / ___// __ \\/ / / / / _____
@@ -38,13 +41,17 @@ module Souls
38
41
  ___/ / /_/ / /_/ / /___(__ )#{' '}
39
42
  /____/\\____/\\____/_____/____/#{' '}
40
43
  TEXT
41
- puts txt
42
- puts "=============================="
43
- puts "Welcome to SOULs!"
44
- puts "SOULs Version: #{Souls::VERSION}"
45
- puts "=============================="
46
- puts "$ cd #{app_name}"
47
- puts "------------------------------"
44
+ message = Paint[txt, :blue]
45
+ puts message
46
+ puts line
47
+ welcome = Paint["Welcome to SOULs!", :white]
48
+ puts welcome
49
+ souls_ver = Paint["SOULs Version: #{Souls::VERSION}", :white]
50
+ puts souls_ver
51
+ puts line
52
+ cd = Paint["Easy to Run\n$ cd #{app_name}\n$ bundle\n$ souls s\nGo To : http://localhost:3000\n\nDoc: https://souls-doc.el-soul.com", :white]
53
+ puts cd
54
+ puts line
48
55
  end
49
56
  end
50
57
  end
data/lib/souls/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Souls
2
- VERSION = "0.22.3"
2
+ VERSION = "0.22.7"
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.22.3
4
+ version: 0.22.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - POPPIN-FUMI
@@ -43,6 +43,120 @@ files:
43
43
  - config/souls.rb
44
44
  - db/schema.rb
45
45
  - exe/souls
46
+ - hoy/.env.sample
47
+ - hoy/.gitignore
48
+ - hoy/.irbrc
49
+ - hoy/.rspec
50
+ - hoy/.rubocop.yml
51
+ - hoy/.ruby-version
52
+ - hoy/CODE_OF_CONDUCT.md
53
+ - hoy/Dockerfile
54
+ - hoy/Dockerfile.dev
55
+ - hoy/Gemfile
56
+ - hoy/Gemfile.lock
57
+ - hoy/LICENSE.txt
58
+ - hoy/Procfile
59
+ - hoy/Procfile.dev
60
+ - hoy/README.md
61
+ - hoy/Rakefile
62
+ - hoy/app.rb
63
+ - hoy/app/graphql/mutations/.keep
64
+ - hoy/app/graphql/mutations/base/article/create_article.rb
65
+ - hoy/app/graphql/mutations/base/article/delete_article.rb
66
+ - hoy/app/graphql/mutations/base/article/destroy_delete_article.rb
67
+ - hoy/app/graphql/mutations/base/article/update_article.rb
68
+ - hoy/app/graphql/mutations/base/article_category/create_article_category.rb
69
+ - hoy/app/graphql/mutations/base/article_category/delete_article_category.rb
70
+ - hoy/app/graphql/mutations/base/article_category/destroy_delete_article_category.rb
71
+ - hoy/app/graphql/mutations/base/article_category/update_article_category.rb
72
+ - hoy/app/graphql/mutations/base/user/create_user.rb
73
+ - hoy/app/graphql/mutations/base/user/delete_user.rb
74
+ - hoy/app/graphql/mutations/base/user/destroy_delete_user.rb
75
+ - hoy/app/graphql/mutations/base/user/update_user.rb
76
+ - hoy/app/graphql/mutations/base_mutation.rb
77
+ - hoy/app/graphql/mutations/user_manager/add_user_role.rb
78
+ - hoy/app/graphql/mutations/user_manager/remove_user_role.rb
79
+ - hoy/app/graphql/mutations/user_manager/sign_in_user.rb
80
+ - hoy/app/graphql/queries/article.rb
81
+ - hoy/app/graphql/queries/article_categories.rb
82
+ - hoy/app/graphql/queries/article_category.rb
83
+ - hoy/app/graphql/queries/articles.rb
84
+ - hoy/app/graphql/queries/base_query.rb
85
+ - hoy/app/graphql/queries/me.rb
86
+ - hoy/app/graphql/queries/user.rb
87
+ - hoy/app/graphql/queries/users.rb
88
+ - hoy/app/graphql/resolvers/article_category_search.rb
89
+ - hoy/app/graphql/resolvers/article_search.rb
90
+ - hoy/app/graphql/resolvers/base.rb
91
+ - hoy/app/graphql/resolvers/user_search.rb
92
+ - hoy/app/graphql/souls_api_schema.rb
93
+ - hoy/app/graphql/types/.keep
94
+ - hoy/app/graphql/types/article_category_type.rb
95
+ - hoy/app/graphql/types/article_type.rb
96
+ - hoy/app/graphql/types/base/base_argument.rb
97
+ - hoy/app/graphql/types/base/base_enum.rb
98
+ - hoy/app/graphql/types/base/base_field.rb
99
+ - hoy/app/graphql/types/base/base_input_object.rb
100
+ - hoy/app/graphql/types/base/base_interface.rb
101
+ - hoy/app/graphql/types/base/base_object.rb
102
+ - hoy/app/graphql/types/base/base_scalar.rb
103
+ - hoy/app/graphql/types/base/base_union.rb
104
+ - hoy/app/graphql/types/base/mutation_type.rb
105
+ - hoy/app/graphql/types/base/query_type.rb
106
+ - hoy/app/graphql/types/connections/article_category_connection.rb
107
+ - hoy/app/graphql/types/connections/article_connection.rb
108
+ - hoy/app/graphql/types/connections/base_connection.rb
109
+ - hoy/app/graphql/types/connections/user_connection.rb
110
+ - hoy/app/graphql/types/edges/article_category_edge.rb
111
+ - hoy/app/graphql/types/edges/article_edge.rb
112
+ - hoy/app/graphql/types/edges/base_edge.rb
113
+ - hoy/app/graphql/types/edges/user_edge.rb
114
+ - hoy/app/graphql/types/user_type.rb
115
+ - hoy/app/models/article.rb
116
+ - hoy/app/models/article_category.rb
117
+ - hoy/app/models/user.rb
118
+ - hoy/app/policies/application_policy.rb
119
+ - hoy/app/policies/article_category_policy.rb
120
+ - hoy/app/policies/article_policy.rb
121
+ - hoy/app/policies/user_policy.rb
122
+ - hoy/app/utils/association_loader.rb
123
+ - hoy/app/utils/firebase_id_token.rb
124
+ - hoy/app/utils/json_web_token.rb
125
+ - hoy/app/utils/record_loader.rb
126
+ - hoy/app/utils/souls_helper.rb
127
+ - hoy/cloudbuild.yml
128
+ - hoy/config.ru
129
+ - hoy/config/database.yml
130
+ - hoy/config/souls.rb
131
+ - hoy/constants/areas.rb
132
+ - hoy/constants/column_name_ja.rb
133
+ - hoy/db/migrate/20200006095538_create_users.rb
134
+ - hoy/db/migrate/20200712180236_create_article_categories.rb
135
+ - hoy/db/migrate/20200714215521_create_articles.rb
136
+ - hoy/db/schema.rb
137
+ - hoy/db/seeds.rb
138
+ - hoy/github/workflows/delivery.yml
139
+ - hoy/log/.keep
140
+ - hoy/spec/factories/article_categories.rb
141
+ - hoy/spec/factories/articles.rb
142
+ - hoy/spec/factories/users.rb
143
+ - hoy/spec/models/article_category_spec.rb
144
+ - hoy/spec/models/article_spec.rb
145
+ - hoy/spec/models/user_spec.rb
146
+ - hoy/spec/mutations/base/article_category_spec.rb
147
+ - hoy/spec/mutations/base/article_spec.rb
148
+ - hoy/spec/mutations/base/user_spec.rb
149
+ - hoy/spec/policies/article_category_policy_spec.rb
150
+ - hoy/spec/policies/article_policy_spec.rb
151
+ - hoy/spec/policies/user_policy_spec.rb
152
+ - hoy/spec/queries/article_category_spec.rb
153
+ - hoy/spec/queries/article_spec.rb
154
+ - hoy/spec/queries/user_spec.rb
155
+ - hoy/spec/resolvers/article_category_search_spec.rb
156
+ - hoy/spec/resolvers/article_search_spec.rb
157
+ - hoy/spec/resolvers/user_search_spec.rb
158
+ - hoy/spec/spec_helper.rb
159
+ - hoy/tmp/.keep
46
160
  - lib/souls.rb
47
161
  - lib/souls/gcloud.rb
48
162
  - lib/souls/gcloud/compute.rb