graphql-fancy_loader 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 24056cf057f7db385e4488f8cad2692de6f2f09d7de0e683bc6e99801d660ed4
4
- data.tar.gz: 52ef8a8f8ba31a5ac85dacacd54cddf1800ecca7ed946bd78ee394e585a14cb4
3
+ metadata.gz: 355c1f577b63f6a1ba087b659a6a03c1b840e792d937aab00fa35203512d80a3
4
+ data.tar.gz: bda38b22ee80c9245546fea76a164e3e0267c3052b36a9fea5de057e1841885d
5
5
  SHA512:
6
- metadata.gz: 6ae6cc150fdd940f48d5e524cea4af1389d0ecbb779dc0c3912981281933209426706eddd29762005b1c38ab7428b481ed98d9ceb6d9344edb380749c76a5a5f
7
- data.tar.gz: c7dce6bfa2f3db97bab7fab2fa42716bdcd0315df2f337c9581875b6dd63c387f7efe78a156284fc2e7e75a3c73e02250bc914bf5e109421d6b38c10fc5e9eba
6
+ metadata.gz: 20dc1a4bceb155740f6276939406ba250044f3aa80bedd9498d75f2e78c90dd441d933281a7edf38efab2c0bd288b720ba3433602272f89e5fe85be422dcfc9c
7
+ data.tar.gz: c644d3f3fa1e9d09da107a3803721744ddb7a3e50eefb4c619d8aa807437c9dd8e164fd27cd0a54451eaeb23d4c62b7d024a62f7253b4cb54b5a823580795c3e
@@ -34,3 +34,5 @@ jobs:
34
34
 
35
35
  - name: Create a Github Release
36
36
  run: gh release create $(ruby -r './lib/graphql/fancy_loader/version' -e "puts GraphQL::FancyLoader::VERSION") --target releasing
37
+ env:
38
+ GITHUB_TOKEN: ${{ secrets.SENKO_SAN_KEY }}
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- graphql-fancy_loader (0.1.2)
4
+ graphql-fancy_loader (0.1.3)
5
5
  activesupport (>= 5.0, < 7.0)
6
6
  graphql (>= 1.3, < 2)
7
7
  graphql-batch (>= 0.4.3, < 1)
@@ -116,10 +116,6 @@ GEM
116
116
  nokogiri (1.12.5)
117
117
  mini_portile2 (~> 2.6.1)
118
118
  racc (~> 1.4)
119
- nokogiri (1.12.5-x86_64-darwin)
120
- racc (~> 1.4)
121
- nokogiri (1.12.5-x86_64-linux)
122
- racc (~> 1.4)
123
119
  pg (1.2.3)
124
120
  promise.rb (0.7.4)
125
121
  pry (0.13.1)
@@ -1,103 +1,105 @@
1
- class GraphQL::FancyConnection < GraphQL::Pagination::RelationConnection
2
- def initialize(loader, args, key, **super_args)
3
- @loader = loader
4
- @args = args
5
- @key = key
6
- @then = nil
1
+ module GraphQL
2
+ class FancyConnection < GraphQL::Pagination::RelationConnection
3
+ def initialize(loader, args, key, **super_args)
4
+ @loader = loader
5
+ @args = args
6
+ @key = key
7
+ @then = nil
7
8
 
8
- super(nil, **super_args)
9
- end
9
+ super(nil, **super_args)
10
+ end
10
11
 
11
- # @return [Promise<Array<ApplicationRecord>>]
12
- def nodes
13
- if @then
14
- base_nodes.then(@then)
15
- else
16
- base_nodes
12
+ # @return [Promise<Array<ApplicationRecord>>]
13
+ def nodes
14
+ if @then
15
+ base_nodes.then(@then)
16
+ else
17
+ base_nodes
18
+ end
17
19
  end
18
- end
19
20
 
20
- def edges
21
- @edges ||= nodes.then do |nodes|
22
- nodes.map { |n| @edge_class.new(n, self) }
21
+ def edges
22
+ @edges ||= nodes.then do |nodes|
23
+ nodes.map { |n| @edge_class.new(n, self) }
24
+ end
23
25
  end
24
- end
25
26
 
26
- # @return [Promise<Integer>]
27
- def total_count
28
- base_nodes.then do |results|
29
- if results.first
30
- results.first.attributes['total_count']
31
- else
32
- 0
27
+ # @return [Promise<Integer>]
28
+ def total_count
29
+ base_nodes.then do |results|
30
+ if results.first
31
+ results.first.attributes['total_count']
32
+ else
33
+ 0
34
+ end
33
35
  end
34
36
  end
35
- end
36
37
 
37
- # @return [Promise<Boolean>]
38
- def has_next_page # rubocop:disable Naming/PredicateName
39
- base_nodes.then do |results|
40
- if results.last
41
- results.last.attributes['row_number'] < results.last.attributes['total_count']
42
- else
43
- false
38
+ # @return [Promise<Boolean>]
39
+ def has_next_page # rubocop:disable Naming/PredicateName
40
+ base_nodes.then do |results|
41
+ if results.last
42
+ results.last.attributes['row_number'] < results.last.attributes['total_count']
43
+ else
44
+ false
45
+ end
44
46
  end
45
47
  end
46
- end
47
48
 
48
- # @return [Promise<Boolean>]
49
- def has_previous_page # rubocop:disable Naming/PredicateName
50
- base_nodes.then do |results|
51
- if results.first
52
- results.first.attributes['row_number'] > 1
53
- else
54
- false
49
+ # @return [Promise<Boolean>]
50
+ def has_previous_page # rubocop:disable Naming/PredicateName
51
+ base_nodes.then do |results|
52
+ if results.first
53
+ results.first.attributes['row_number'] > 1
54
+ else
55
+ false
56
+ end
55
57
  end
56
58
  end
57
- end
58
59
 
59
- def start_cursor
60
- base_nodes.then do |results|
61
- cursor_for(results.first)
60
+ def start_cursor
61
+ base_nodes.then do |results|
62
+ cursor_for(results.first)
63
+ end
62
64
  end
63
- end
64
65
 
65
- def end_cursor
66
- base_nodes.then do |results|
67
- cursor_for(results.last)
66
+ def end_cursor
67
+ base_nodes.then do |results|
68
+ cursor_for(results.last)
69
+ end
68
70
  end
69
- end
70
71
 
71
- def cursor_for(item)
72
- item && encode(item.attributes['row_number'].to_s)
73
- end
72
+ def cursor_for(item)
73
+ item && encode(item.attributes['row_number'].to_s)
74
+ end
74
75
 
75
- def then(&block)
76
- @then = block
77
- self
78
- end
76
+ def then(&block)
77
+ @then = block
78
+ self
79
+ end
79
80
 
80
- private
81
+ private
81
82
 
82
- def base_nodes
83
- @base_nodes ||= @loader.for(**loader_args).load(@key)
84
- end
83
+ def base_nodes
84
+ @base_nodes ||= @loader.for(**loader_args).load(@key)
85
+ end
85
86
 
86
- def after_offset
87
- @after_offset ||= after && decode(after).to_i
88
- end
87
+ def after_offset
88
+ @after_offset ||= after && decode(after).to_i
89
+ end
89
90
 
90
- def before_offset
91
- @before_offset ||= before && decode(before).to_i
92
- end
91
+ def before_offset
92
+ @before_offset ||= before && decode(before).to_i
93
+ end
93
94
 
94
- def loader_args
95
- @args.merge(
96
- before: before_offset,
97
- after: after_offset,
98
- first: first,
99
- last: last,
100
- context: context
101
- )
95
+ def loader_args
96
+ @args.merge(
97
+ before: before_offset,
98
+ after: after_offset,
99
+ first: first,
100
+ last: last,
101
+ context: context
102
+ )
103
+ end
102
104
  end
103
105
  end
@@ -6,6 +6,6 @@ module GraphQL
6
6
  rescue LoadError
7
7
  BasicObject
8
8
  end)
9
- VERSION = '0.1.2'.freeze
9
+ VERSION = '0.1.3'.freeze
10
10
  end
11
11
  end
@@ -11,16 +11,7 @@ require 'active_support/concern'
11
11
  require 'active_support/configurable'
12
12
  require 'active_support/core_ext/class/attribute'
13
13
 
14
- require 'graphql/sort_direction'
15
- require 'graphql/fancy_connection'
16
- # FancyLoader
17
14
  require 'graphql/fancy_loader/dsl'
18
- require 'graphql/fancy_loader/pagination_filter'
19
- require 'graphql/fancy_loader/query_generator'
20
- require 'graphql/fancy_loader/rank_query_generator'
21
- require 'graphql/fancy_loader/type_generator'
22
- # Middleware
23
- require 'graphql/fancy_loader/pundit_middleware'
24
15
 
25
16
  module GraphQL
26
17
  class FancyLoader < GraphQL::Batch::Loader
@@ -101,3 +92,14 @@ module GraphQL
101
92
  end
102
93
  end
103
94
  end
95
+
96
+ require 'graphql/sort_direction'
97
+ require 'graphql/fancy_connection'
98
+ # FancyLoader
99
+ require 'graphql/fancy_loader/pagination_filter'
100
+ require 'graphql/fancy_loader/query_generator'
101
+ require 'graphql/fancy_loader/rank_query_generator'
102
+ require 'graphql/fancy_loader/type_generator'
103
+ require 'graphql/fancy_loader/version'
104
+ # Middleware
105
+ require 'graphql/fancy_loader/pundit_middleware'
@@ -1,4 +1,6 @@
1
- class GraphQL::SortDirection < GraphQL::Schema::Enum
2
- value :ASCENDING, value: :asc
3
- value :DESCENDING, value: :desc
1
+ module GraphQL
2
+ class SortDirection < GraphQL::Schema::Enum
3
+ value :ASCENDING, value: :asc
4
+ value :DESCENDING, value: :desc
5
+ end
4
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: graphql-fancy_loader
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Toyhammered