souls 1.9.17 → 1.10.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: b1df1462b5d987180801fe9cb33ddfc141aa90a3b0d9d6524f66eef180e1f15c
4
- data.tar.gz: a70527d82c1c3d9df604ac1cdeeac013d888a2e99de53bca9fe822246803c28e
3
+ metadata.gz: 14e521ddee7dd8bfe1c3f2a52d9e81131f687d617bba1ae774a2d04dd8dd7043
4
+ data.tar.gz: aa0bcf7a53ca8eb1e8ed50b64c64ad9b1643f735c800b81ea3b090591ce16365
5
5
  SHA512:
6
- metadata.gz: 978080dbe7f7c4f38410ab8fa9f31c42f5974d344d864325946e70fa53c3859575cd28655d42e08c3bbecbfd395f98925b6576240ec12b7405bb215683fda00a
7
- data.tar.gz: 2c1a068964008ed9c0bb52cc5f902d82f77f5c908c3ea9c570bbd855a9f9f330226eec733e240f23ac370c5aadd5a334c2628fa1de44c20349b15627eaeee2b6
6
+ metadata.gz: '0249a764c37f6e4eb0acab137078b8ad1f22e9e8072b3d15b18522d0b86378a13d8ed71bbc26d652ff645695af6f20087f71db52b4fd9469b429df99bc4e1999'
7
+ data.tar.gz: 2a8c0509d45cd2063392a67f5775d9c80db71a792f03854005cede0b2e681331d43dcb7d85bd2a3b8a00987385dcbd083ac8281bf19ed5b71fb8ed54a7d7f3c9
data/README.md CHANGED
@@ -150,4 +150,4 @@ The gem is available as open source under the terms of the [Apache-2.0 License](
150
150
 
151
151
  ## Code of Conduct
152
152
 
153
- Everyone interacting in the HotelPrice project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/elsoul/souls/blob/master/CODE_OF_CONDUCT.md).
153
+ Everyone interacting in the Souls project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/elsoul/souls/blob/master/CODE_OF_CONDUCT.md).
@@ -0,0 +1,18 @@
1
+ module Souls
2
+ class SoulsConnection < GraphQL::Types::Relay::BaseConnection
3
+ field :total_count, Integer, null: false do
4
+ description "Total number of items"
5
+ end
6
+ field :total_pages, Integer, null: false do
7
+ description "Total number of pages"
8
+ end
9
+
10
+ def total_count
11
+ object.items.size
12
+ end
13
+
14
+ def total_pages
15
+ (total_count / object.max_page_size) + 1
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,6 @@
1
+ module Souls
2
+ module Types
3
+ class BaseArgument < GraphQL::Schema::Argument
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ module Souls
2
+ module Types
3
+ class BaseEnum < GraphQL::Schema::Enum
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,7 @@
1
+ module Souls
2
+ module Types
3
+ class BaseField < GraphQL::Schema::Field
4
+ argument_class Souls::Types::BaseArgument
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ module Souls
2
+ module Types
3
+ class BaseInputObject < GraphQL::Schema::InputObject
4
+ argument_class Souls::Types::BaseArgument
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,9 @@
1
+ module Souls
2
+ module Types
3
+ module BaseInterface
4
+ include GraphQL::Schema::Interface
5
+
6
+ field_class Souls::Types::BaseField
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,8 @@
1
+ module Souls
2
+ module Types
3
+ class BaseObject < GraphQL::Schema::Object
4
+ field_class Souls::Types::BaseField
5
+ connection_type_class Souls::SoulsConnection
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,6 @@
1
+ module Souls
2
+ module Types
3
+ class BaseScalar < GraphQL::Schema::Scalar
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ module Souls
2
+ module Types
3
+ class BaseUnion < GraphQL::Schema::Union
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,11 @@
1
+ require_relative "base_argument"
2
+ require_relative "base_enum"
3
+ require_relative "base_field"
4
+ require_relative "base_input_object"
5
+ require_relative "base_interface"
6
+ require_relative "base_object"
7
+ require_relative "base_scalar"
8
+ require_relative "base_union"
9
+
10
+ module Souls
11
+ end
@@ -1,7 +1,9 @@
1
1
  require_relative "graphql/souls_mutation"
2
2
  require_relative "graphql/souls_query"
3
+ require_relative "graphql/souls_connection"
3
4
  require_relative "utils/souls_logger"
4
5
  require_relative "utils/firebase_id_token"
6
+ require_relative "graphql/types/index"
5
7
 
6
8
  module Souls
7
9
  end
@@ -48,7 +48,8 @@ module Souls
48
48
 
49
49
  def current_schedules
50
50
  current_schedules = {}
51
- `gcloud scheduler jobs list`.split("\n")[1..].each do |line|
51
+ jobs = `gcloud scheduler jobs list`
52
+ jobs.split("\n")[1..].each do |line|
52
53
  columns = line.split(/\t| {2,}/)
53
54
  job_name = columns[0].to_sym
54
55
  crontab = columns[2].split(" (")[0]
@@ -24,13 +24,13 @@ module Souls
24
24
  File.open(file_path, "w") do |f|
25
25
  f.write(<<~TEXT)
26
26
  module Resolvers
27
- class #{class_name.camelize}Search < Base
27
+ class #{class_name.camelize}Search < BaseResolver
28
28
  include SearchObject.module(:graphql)
29
29
  scope { ::#{class_name.camelize}.all }
30
30
  type Types::#{class_name.camelize}Type.connection_type, null: false
31
31
  description "Search #{class_name.camelize}"
32
32
 
33
- class #{class_name.camelize}Filter < ::Types::BaseInputObject
33
+ class #{class_name.camelize}Filter < Souls::Types::BaseInputObject
34
34
  argument :OR, [self], required: false
35
35
  TEXT
36
36
  end
@@ -78,8 +78,6 @@ module Souls
78
78
  end
79
79
 
80
80
  option :filter, type: #{class_name.camelize}Filter, with: :apply_filter
81
- option :first, type: types.Int, with: :apply_first
82
- option :skip, type: types.Int, with: :apply_skip
83
81
 
84
82
  def apply_filter(scope, value)
85
83
  branches = normalize_filters(value).inject { |a, b| a.or(b) }
@@ -12,15 +12,13 @@ module Souls
12
12
 
13
13
  File.open(file_path, "w") do |f|
14
14
  f.write(<<~TEXT)
15
- class Base
15
+ class BaseResolver
16
16
  end
17
- class #{singularized_class_name.camelize}Search < Base
17
+ class #{singularized_class_name.camelize}Search < BaseResolver
18
18
  include SearchObject
19
19
  def self.scope: () ?{ () -> nil } -> [Hash[Symbol, untyped]]
20
20
  def self.type: (*untyped) -> String
21
21
  def self.option: (:filter, type: untyped, with: :apply_filter) -> String
22
- | (:first, type: untyped, with: :apply_first) -> String
23
- | (:skip, type: untyped, with: :apply_skip) -> String
24
22
  def self.description: (String) -> String
25
23
  def self.types: (*untyped) -> String
26
24
  def decode_global_key: (String value) -> Integer
data/lib/souls/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module Souls
2
- VERSION = "1.9.17".freeze
2
+ VERSION = "1.10.3".freeze
3
3
  public_constant :VERSION
4
4
  end
@@ -1 +1 @@
1
- 1.9.17
1
+ 1.10.3
@@ -1 +1 @@
1
- 1.9.17
1
+ 1.10.3
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: 1.9.17
4
+ version: 1.10.3
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-12-01 00:00:00.000000000 Z
13
+ date: 2021-12-07 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
@@ -156,8 +156,18 @@ files:
156
156
  - README.md
157
157
  - exe/souls
158
158
  - lib/souls.rb
159
+ - lib/souls/app/graphql/souls_connection.rb
159
160
  - lib/souls/app/graphql/souls_mutation.rb
160
161
  - lib/souls/app/graphql/souls_query.rb
162
+ - lib/souls/app/graphql/types/base_argument.rb
163
+ - lib/souls/app/graphql/types/base_enum.rb
164
+ - lib/souls/app/graphql/types/base_field.rb
165
+ - lib/souls/app/graphql/types/base_input_object.rb
166
+ - lib/souls/app/graphql/types/base_interface.rb
167
+ - lib/souls/app/graphql/types/base_object.rb
168
+ - lib/souls/app/graphql/types/base_scalar.rb
169
+ - lib/souls/app/graphql/types/base_union.rb
170
+ - lib/souls/app/graphql/types/index.rb
161
171
  - lib/souls/app/index.rb
162
172
  - lib/souls/app/utils/firebase_id_token.rb
163
173
  - lib/souls/app/utils/souls_logger.rb