graphql_devise 1.4.0 → 2.0.0

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: 8f51f6bf7fe463ff0ea364fe89ba48c3d5823ee965f044b49c4417ea051e8ec1
4
- data.tar.gz: d0d974ad589b3549d90764b9afe7841fe71ec9731f4bba2386d6f329e10d55ac
3
+ metadata.gz: c4bc4895a435e3cc07f19f26547d8266a564282712d1e25e1e79dc55da2cf166
4
+ data.tar.gz: 1c8b16d151fe06ebe989419f529d023f2dd6d48aefd0f886feaba5dc480198e5
5
5
  SHA512:
6
- metadata.gz: d914975173e11956b19e7c3591967e8332297b5f779e1e61088ee0f43a09348cbeba2514d1a91987562194e5c05d8a7b273a8a31eb208dc382a00cf65e56159d
7
- data.tar.gz: c779b95176de43a738514eb1b4e06da6c30d4bb8bbf915d342e57ed6e57c733410e717e5777d0ebebd56a72d515b99dae67dd33c3246a0ae6ce11ee38f30cc27
6
+ metadata.gz: ca8c2c1a5ec146f252c2b207f92a066df1f6f07c534b7488b785b0a8442e1dfcc36777bfd96a205522bc7e39fe5d8b3541beb4dc0b74c69db3909eed674d3069
7
+ data.tar.gz: dda448483ea753d99b0abfb10ad878b426e7647a1088b3b30b82d57b82acc8b18f6145a615c4f6ab64b1aa93399d1104f7e100034239cf68e817a85f989ca7f6
data/.circleci/config.yml CHANGED
@@ -13,11 +13,12 @@ jobs:
13
13
  - image: 'ruby:<< parameters.ruby-version >>'
14
14
  environment:
15
15
  BUNDLE_GEMFILE: << parameters.gemfile >>
16
- COVERALLS_PARALLEL: true
16
+ COVERALLS_PARALLEL: 'true'
17
17
  EAGER_LOAD: 'true'
18
+ RUBYOPT: '-rostruct'
18
19
  steps:
19
20
  - checkout
20
- - run: gem install bundler -v '1.17'
21
+ - run: ruby bin/install_bundler.rb
21
22
  - run:
22
23
  name: Install dependencies
23
24
  command: bundle install
@@ -27,7 +28,7 @@ jobs:
27
28
  bundle exec rspec
28
29
  report-coverage:
29
30
  docker:
30
- - image: 'circleci/node:10.0.0'
31
+ - image: 'cimg/node:22.1.0'
31
32
  steps:
32
33
  - coveralls/upload:
33
34
  parallel_finished: true
@@ -39,20 +40,12 @@ workflows:
39
40
  matrix:
40
41
  parameters:
41
42
  ruby-version:
42
- - '2.5'
43
- - '2.6'
44
43
  - '2.7'
45
44
  - '3.0'
45
+ - '3.1'
46
+ - '3.2'
47
+ - '3.3'
46
48
  gemfile:
47
- - gemfiles/rails4.2_graphql1.8.gemfile
48
- - gemfiles/rails5.0_graphql1.8.gemfile
49
- - gemfiles/rails5.0_graphql1.9.gemfile
50
- - gemfiles/rails5.1_graphql1.8.gemfile
51
- - gemfiles/rails5.1_graphql1.9.gemfile
52
- - gemfiles/rails5.2_graphql1.8.gemfile
53
- - gemfiles/rails5.2_graphql1.9.gemfile
54
- - gemfiles/rails5.2_graphql1.10.gemfile
55
- - gemfiles/rails5.2_graphql1.11.gemfile
56
49
  - gemfiles/rails6.0_graphql1.11.gemfile
57
50
  - gemfiles/rails6.0_graphql1.12.gemfile
58
51
  - gemfiles/rails6.0_graphql1.13.gemfile
@@ -65,85 +58,52 @@ workflows:
65
58
  - gemfiles/rails7.0_graphql1.13.gemfile
66
59
  - gemfiles/rails7.0_graphql2.0.gemfile
67
60
  - gemfiles/rails7.0_graphql2.1.gemfile
61
+ - gemfiles/rails7.0_graphql2.2.gemfile
62
+ - gemfiles/rails7.0_graphql2.3.gemfile
63
+ - gemfiles/rails7.0_graphql2.4.gemfile
64
+ - gemfiles/rails7.1_graphql2.0.gemfile
65
+ - gemfiles/rails7.1_graphql2.1.gemfile
66
+ - gemfiles/rails7.1_graphql2.2.gemfile
67
+ - gemfiles/rails7.1_graphql2.3.gemfile
68
+ - gemfiles/rails7.1_graphql2.4.gemfile
69
+ - gemfiles/rails7.2_graphql2.0.gemfile
70
+ - gemfiles/rails7.2_graphql2.1.gemfile
71
+ - gemfiles/rails7.2_graphql2.2.gemfile
72
+ - gemfiles/rails7.2_graphql2.3.gemfile
73
+ - gemfiles/rails7.2_graphql2.4.gemfile
68
74
  exclude:
69
- - ruby-version: '2.4'
70
- gemfile: gemfiles/rails6.0_graphql1.11.gemfile
71
- - ruby-version: '2.4'
72
- gemfile: gemfiles/rails6.0_graphql1.12.gemfile
73
- - ruby-version: '2.4'
74
- gemfile: gemfiles/rails6.0_graphql1.13.gemfile
75
- - ruby-version: '2.4'
76
- gemfile: gemfiles/rails6.1_graphql1.11.gemfile
77
- - ruby-version: '2.4'
78
- gemfile: gemfiles/rails6.1_graphql1.12.gemfile
79
- - ruby-version: '2.4'
80
- gemfile: gemfiles/rails6.1_graphql1.13.gemfile
81
- - ruby-version: '2.4'
82
- gemfile: gemfiles/rails6.1_graphql2.0.gemfile
83
- - ruby-version: '2.4'
84
- gemfile: gemfiles/rails7.0_graphql1.11.gemfile
85
- - ruby-version: '2.4'
86
- gemfile: gemfiles/rails7.0_graphql1.12.gemfile
87
- - ruby-version: '2.4'
88
- gemfile: gemfiles/rails7.0_graphql1.13.gemfile
89
- - ruby-version: '2.4'
90
- gemfile: gemfiles/rails7.0_graphql2.0.gemfile
91
- - ruby-version: '2.4'
92
- gemfile: gemfiles/rails7.0_graphql2.1.gemfile
93
- - ruby-version: '2.5'
94
- gemfile: gemfiles/rails7.0_graphql1.11.gemfile
95
- - ruby-version: '2.5'
96
- gemfile: gemfiles/rails6.0_graphql1.13.gemfile
97
- - ruby-version: '2.5'
98
- gemfile: gemfiles/rails6.1_graphql1.13.gemfile
99
- - ruby-version: '2.5'
100
- gemfile: gemfiles/rails7.0_graphql1.12.gemfile
101
- - ruby-version: '2.5'
102
- gemfile: gemfiles/rails7.0_graphql1.13.gemfile
103
- - ruby-version: '2.5'
104
- gemfile: gemfiles/rails7.0_graphql2.0.gemfile
105
- - ruby-version: '2.5'
106
- gemfile: gemfiles/rails7.0_graphql2.1.gemfile
107
- - ruby-version: '2.5'
108
- gemfile: gemfiles/rails6.1_graphql2.0.gemfile
109
- - ruby-version: '2.5'
110
- gemfile: gemfiles/rails6.1_graphql1.12.gemfile
111
- - ruby-version: '2.5'
112
- gemfile: gemfiles/rails6.1_graphql1.11.gemfile
113
- - ruby-version: '2.5'
114
- gemfile: gemfiles/rails6.0_graphql1.12.gemfile
115
- - ruby-version: '2.5'
116
- gemfile: gemfiles/rails6.0_graphql1.11.gemfile
117
- - ruby-version: '2.6'
118
- gemfile: gemfiles/rails7.0_graphql1.11.gemfile
119
- - ruby-version: '2.6'
120
- gemfile: gemfiles/rails7.0_graphql1.12.gemfile
121
- - ruby-version: '2.6'
122
- gemfile: gemfiles/rails7.0_graphql1.13.gemfile
123
- - ruby-version: '2.6'
124
- gemfile: gemfiles/rails7.0_graphql2.0.gemfile
125
- - ruby-version: '2.6'
126
- gemfile: gemfiles/rails7.0_graphql2.1.gemfile
127
75
  - ruby-version: '2.7'
128
- gemfile: gemfiles/rails4.2_graphql1.8.gemfile
129
- - ruby-version: '3.0'
130
- gemfile: gemfiles/rails4.2_graphql1.8.gemfile
131
- - ruby-version: '3.0'
132
- gemfile: gemfiles/rails5.0_graphql1.8.gemfile
133
- - ruby-version: '3.0'
134
- gemfile: gemfiles/rails5.0_graphql1.9.gemfile
135
- - ruby-version: '3.0'
136
- gemfile: gemfiles/rails5.1_graphql1.8.gemfile
76
+ gemfile: gemfiles/rails7.2_graphql2.0.gemfile
77
+ - ruby-version: '2.7'
78
+ gemfile: gemfiles/rails7.2_graphql2.1.gemfile
79
+ - ruby-version: '2.7'
80
+ gemfile: gemfiles/rails7.2_graphql2.2.gemfile
81
+ - ruby-version: '2.7'
82
+ gemfile: gemfiles/rails7.2_graphql2.3.gemfile
83
+ - ruby-version: '2.7'
84
+ gemfile: gemfiles/rails7.2_graphql2.4.gemfile
137
85
  - ruby-version: '3.0'
138
- gemfile: gemfiles/rails5.1_graphql1.9.gemfile
86
+ gemfile: gemfiles/rails7.2_graphql2.0.gemfile
139
87
  - ruby-version: '3.0'
140
- gemfile: gemfiles/rails5.2_graphql1.8.gemfile
88
+ gemfile: gemfiles/rails7.2_graphql2.1.gemfile
141
89
  - ruby-version: '3.0'
142
- gemfile: gemfiles/rails5.2_graphql1.9.gemfile
90
+ gemfile: gemfiles/rails7.2_graphql2.2.gemfile
143
91
  - ruby-version: '3.0'
144
- gemfile: gemfiles/rails5.2_graphql1.10.gemfile
92
+ gemfile: gemfiles/rails7.2_graphql2.3.gemfile
145
93
  - ruby-version: '3.0'
146
- gemfile: gemfiles/rails5.2_graphql1.11.gemfile
94
+ gemfile: gemfiles/rails7.2_graphql2.4.gemfile
95
+ - ruby-version: '3.2'
96
+ gemfile: gemfiles/rails6.0_graphql1.11.gemfile
97
+ - ruby-version: '3.2'
98
+ gemfile: gemfiles/rails6.1_graphql1.11.gemfile
99
+ - ruby-version: '3.2'
100
+ gemfile: gemfiles/rails7.0_graphql1.11.gemfile
101
+ - ruby-version: '3.3'
102
+ gemfile: gemfiles/rails6.0_graphql1.11.gemfile
103
+ - ruby-version: '3.3'
104
+ gemfile: gemfiles/rails6.1_graphql1.11.gemfile
105
+ - ruby-version: '3.3'
106
+ gemfile: gemfiles/rails7.0_graphql1.11.gemfile
147
107
  - report-coverage:
148
108
  requires:
149
109
  - test
data/.rubocop.yml CHANGED
@@ -4,7 +4,7 @@ require:
4
4
  - rubocop-rails
5
5
 
6
6
  AllCops:
7
- TargetRubyVersion: 2.4.4
7
+ TargetRubyVersion: 2.7
8
8
  DisplayCopNames: true
9
9
  Exclude:
10
10
  - bin/**/*
data/Appraisals CHANGED
@@ -1,115 +1,30 @@
1
- appraise 'rails4.2-graphql1.8' do
2
- gem 'sqlite3', '~> 1.3.6'
3
- gem 'bundler', '~> 1.17'
4
- gem 'rails', git: 'https://github.com/rails/rails', branch: '4-2-stable'
5
- gem 'graphql', '~> 1.8.0'
6
- gem 'devise_token_auth', '< 1.2'
7
- gem 'rspec-rails', '< 4.0'
8
- end
9
-
10
- appraise 'rails5.0-graphql1.8' do
11
- gem 'sqlite3', '~> 1.3.6'
12
- gem 'rails', git: 'https://github.com/rails/rails', branch: '5-0-stable'
13
- gem 'graphql', '~> 1.8.0'
14
- gem 'devise_token_auth', '0.1.43'
15
- gem 'devise', '>= 4.0'
16
- gem 'rspec-rails', '< 4.0'
17
- end
18
-
19
- appraise 'rails5.0-graphql1.9' do
20
- gem 'sqlite3', '~> 1.3.6'
21
- gem 'rails', git: 'https://github.com/rails/rails', branch: '5-0-stable'
22
- gem 'graphql', '~> 1.9.0'
23
- gem 'devise_token_auth', '< 1.2'
24
- gem 'rspec-rails', '< 4.0'
25
- end
26
-
27
- appraise 'rails5.1-graphql1.8' do
28
- gem 'sqlite3', '~> 1.3.6'
29
- gem 'rails', git: 'https://github.com/rails/rails', branch: '5-1-stable'
30
- gem 'graphql', '~> 1.8.0'
31
- gem 'devise_token_auth', '0.1.43'
32
- gem 'devise', '>= 4.3'
33
- gem 'rspec-rails', '< 4.0'
34
- end
35
-
36
- appraise 'rails5.1-graphql1.9' do
37
- gem 'sqlite3', '~> 1.3.6'
38
- gem 'rails', git: 'https://github.com/rails/rails', branch: '5-1-stable'
39
- gem 'graphql', '~> 1.9.0'
40
- gem 'devise_token_auth', '< 1.2'
41
- gem 'rspec-rails', '< 4.0'
42
- end
43
-
44
- appraise 'rails5.2-graphql1.8' do
45
- gem 'sqlite3', '~> 1.3.6'
46
- gem 'rails', git: 'https://github.com/rails/rails', branch: '5-2-stable'
47
- gem 'graphql', '~> 1.8.0'
48
- gem 'devise_token_auth', '0.1.43'
49
- gem 'devise', '>= 4.4.2'
50
- gem 'rspec-rails', '< 4.0'
51
- end
52
-
53
- appraise 'rails5.2-graphql1.9' do
54
- gem 'sqlite3', '~> 1.3.6'
55
- gem 'rails', git: 'https://github.com/rails/rails', branch: '5-2-stable'
56
- gem 'graphql', '~> 1.9.0'
57
- gem 'devise_token_auth', '< 1.2'
58
- gem 'rspec-rails', '< 4.0'
59
- end
60
-
61
- appraise 'rails5.2-graphql1.10' do
62
- gem 'sqlite3', '~> 1.3.6'
63
- gem 'rails', git: 'https://github.com/rails/rails', branch: '5-2-stable'
64
- gem 'graphql', '~> 1.10.0'
65
- gem 'devise_token_auth', '< 1.2'
66
- gem 'rspec-rails', '< 4.0'
67
- end
68
-
69
- appraise 'rails5.2-graphql1.11' do
70
- gem 'sqlite3', '~> 1.3.6'
71
- gem 'rails', git: 'https://github.com/rails/rails', branch: '5-2-stable'
72
- gem 'graphql', '~> 1.11.0'
73
- gem 'devise_token_auth', '< 1.2'
74
- gem 'rspec-rails', '< 4.0'
75
- end
76
-
77
- appraise 'rails5.2-graphql1.12' do
78
- gem 'sqlite3', '~> 1.3.6'
79
- gem 'rails', git: 'https://github.com/rails/rails', branch: '5-2-stable'
80
- gem 'graphql', '~> 1.12.0'
81
- gem 'devise_token_auth', '< 1.2'
82
- gem 'rspec-rails', '< 4.0'
83
- end
84
-
85
- appraise 'rails6.0-graphql1.10' do
86
- gem 'sqlite3', '~> 1.5.4'
87
- gem 'devise', '>= 4.7'
88
- gem 'rails', git: 'https://github.com/rails/rails', branch: '6-0-stable'
89
- gem 'graphql', '~> 1.10.0'
90
- end
91
-
92
1
  appraise 'rails6.0-graphql1.11' do
2
+ gem 'psych', '< 4'
93
3
  gem 'sqlite3', '~> 1.5.4'
94
4
  gem 'public_suffix', '< 5'
95
5
  gem 'devise', '>= 4.7'
96
6
  gem 'rails', git: 'https://github.com/rails/rails', branch: '6-0-stable'
97
7
  gem 'graphql', '~> 1.11.0'
8
+ gem 'factory_bot', '<= 6.4.4'
98
9
  end
99
10
 
100
11
  appraise 'rails6.0-graphql1.12' do
12
+ gem 'psych', '< 4'
101
13
  gem 'sqlite3', '~> 1.5.4'
102
14
  gem 'public_suffix', '< 5'
103
15
  gem 'devise', '>= 4.7'
104
16
  gem 'rails', git: 'https://github.com/rails/rails', branch: '6-0-stable'
105
17
  gem 'graphql', '~> 1.12.0'
18
+ gem 'factory_bot', '<= 6.4.4'
106
19
  end
107
20
 
108
21
  appraise 'rails6.0-graphql1.13' do
22
+ gem 'psych', '< 4'
109
23
  gem 'sqlite3', '~> 1.5.4'
110
24
  gem 'devise', '>= 4.7'
111
25
  gem 'rails', git: 'https://github.com/rails/rails', branch: '6-0-stable'
112
26
  gem 'graphql', '~> 1.13.0'
27
+ gem 'factory_bot', '<= 6.4.4'
113
28
  end
114
29
 
115
30
  appraise 'rails6.1-graphql1.10' do
@@ -117,6 +32,7 @@ appraise 'rails6.1-graphql1.10' do
117
32
  gem 'devise', '>= 4.7'
118
33
  gem 'rails', git: 'https://github.com/rails/rails', branch: '6-1-stable'
119
34
  gem 'graphql', '~> 1.10.0'
35
+ gem 'factory_bot', '<= 6.4.4'
120
36
  end
121
37
 
122
38
  appraise 'rails6.1-graphql1.11' do
@@ -125,6 +41,7 @@ appraise 'rails6.1-graphql1.11' do
125
41
  gem 'devise', '>= 4.7'
126
42
  gem 'rails', git: 'https://github.com/rails/rails', branch: '6-1-stable'
127
43
  gem 'graphql', '~> 1.11.0'
44
+ gem 'factory_bot', '<= 6.4.4'
128
45
  end
129
46
 
130
47
  appraise 'rails6.1-graphql1.12' do
@@ -133,6 +50,7 @@ appraise 'rails6.1-graphql1.12' do
133
50
  gem 'devise', '>= 4.7'
134
51
  gem 'rails', git: 'https://github.com/rails/rails', branch: '6-1-stable'
135
52
  gem 'graphql', '~> 1.12.0'
53
+ gem 'factory_bot', '<= 6.4.4'
136
54
  end
137
55
 
138
56
  appraise 'rails6.1-graphql1.13' do
@@ -140,6 +58,7 @@ appraise 'rails6.1-graphql1.13' do
140
58
  gem 'devise', '>= 4.7'
141
59
  gem 'rails', git: 'https://github.com/rails/rails', branch: '6-1-stable'
142
60
  gem 'graphql', '~> 1.13.0'
61
+ gem 'factory_bot', '<= 6.4.4'
143
62
  end
144
63
 
145
64
  appraise 'rails6.1-graphql2.0' do
@@ -148,6 +67,7 @@ appraise 'rails6.1-graphql2.0' do
148
67
  gem 'devise', '>= 4.7'
149
68
  gem 'rails', git: 'https://github.com/rails/rails', branch: '6-1-stable'
150
69
  gem 'graphql', '~> 2.0.1'
70
+ gem 'factory_bot', '<= 6.4.4'
151
71
  end
152
72
 
153
73
  appraise 'rails7.0-graphql1.11' do
@@ -183,7 +103,7 @@ appraise 'rails7.0-graphql2.0' do
183
103
  gem 'devise_token_auth', '>= 1.2.1'
184
104
  gem 'devise', '>= 4.7'
185
105
  gem 'rails', git: 'https://github.com/rails/rails', branch: '7-0-stable'
186
- gem 'graphql', '~> 2.0.1'
106
+ gem 'graphql', '>= 2.0', '< 2.1'
187
107
  end
188
108
 
189
109
  appraise 'rails7.0-graphql2.1' do
@@ -194,3 +114,115 @@ appraise 'rails7.0-graphql2.1' do
194
114
  gem 'rails', git: 'https://github.com/rails/rails', branch: '7-0-stable'
195
115
  gem 'graphql', '>= 2.1', '< 2.2'
196
116
  end
117
+
118
+ appraise 'rails7.0-graphql2.2' do
119
+ gem 'sassc-rails'
120
+ gem 'sqlite3', '~> 1.5.4'
121
+ gem 'devise_token_auth', '>= 1.2.1'
122
+ gem 'devise', '>= 4.7'
123
+ gem 'rails', git: 'https://github.com/rails/rails', branch: '7-0-stable'
124
+ gem 'graphql', '>= 2.2', '< 2.3'
125
+ end
126
+
127
+ appraise 'rails7.0-graphql2.3' do
128
+ gem 'sassc-rails'
129
+ gem 'sqlite3', '~> 1.5.4'
130
+ gem 'devise_token_auth', '>= 1.2.1'
131
+ gem 'devise', '>= 4.7'
132
+ gem 'rails', git: 'https://github.com/rails/rails', branch: '7-0-stable'
133
+ gem 'graphql', '>= 2.3', '< 2.4'
134
+ end
135
+
136
+ appraise 'rails7.0-graphql2.4' do
137
+ gem 'sassc-rails'
138
+ gem 'sqlite3', '~> 1.5.4'
139
+ gem 'devise_token_auth', '>= 1.2.1'
140
+ gem 'devise', '>= 4.7'
141
+ gem 'rails', git: 'https://github.com/rails/rails', branch: '7-0-stable'
142
+ gem 'graphql', '>= 2.4', '< 2.5'
143
+ end
144
+
145
+ appraise 'rails7.1-graphql2.0' do
146
+ gem 'sassc-rails'
147
+ gem 'sqlite3', '~> 1.5.4'
148
+ gem 'devise_token_auth', '>= 1.2.1'
149
+ gem 'devise', '>= 4.7'
150
+ gem 'rails', git: 'https://github.com/rails/rails', branch: '7-1-stable'
151
+ gem 'graphql', '>= 2.0', '< 2.1'
152
+ end
153
+
154
+ appraise 'rails7.1-graphql2.1' do
155
+ gem 'sassc-rails'
156
+ gem 'sqlite3', '~> 1.5.4'
157
+ gem 'devise_token_auth', '>= 1.2.1'
158
+ gem 'devise', '>= 4.7'
159
+ gem 'rails', git: 'https://github.com/rails/rails', branch: '7-1-stable'
160
+ gem 'graphql', '>= 2.1', '< 2.2'
161
+ end
162
+
163
+ appraise 'rails7.1-graphql2.2' do
164
+ gem 'sassc-rails'
165
+ gem 'sqlite3', '~> 1.5.4'
166
+ gem 'devise_token_auth', '>= 1.2.1'
167
+ gem 'devise', '>= 4.7'
168
+ gem 'rails', git: 'https://github.com/rails/rails', branch: '7-1-stable'
169
+ gem 'graphql', '>= 2.2', '< 2.3'
170
+ end
171
+
172
+ appraise 'rails7.1-graphql2.3' do
173
+ gem 'sassc-rails'
174
+ gem 'sqlite3', '~> 1.5.4'
175
+ gem 'devise_token_auth', '>= 1.2.1'
176
+ gem 'devise', '>= 4.7'
177
+ gem 'rails', git: 'https://github.com/rails/rails', branch: '7-1-stable'
178
+ gem 'graphql', '>= 2.3', '< 2.4'
179
+ end
180
+
181
+ appraise 'rails7.1-graphql2.4' do
182
+ gem 'sassc-rails'
183
+ gem 'sqlite3', '~> 1.5.4'
184
+ gem 'devise_token_auth', '>= 1.2.1'
185
+ gem 'devise', '>= 4.7'
186
+ gem 'rails', git: 'https://github.com/rails/rails', branch: '7-1-stable'
187
+ gem 'graphql', '>= 2.4', '< 2.5'
188
+ end
189
+
190
+ appraise 'rails7.2-graphql2.0' do
191
+ gem 'sassc-rails'
192
+ gem 'devise_token_auth', '>= 1.2.1'
193
+ gem 'devise', '>= 4.7'
194
+ gem 'rails', git: 'https://github.com/rails/rails', branch: '7-2-stable'
195
+ gem 'graphql', '>= 2.0', '< 2.1'
196
+ end
197
+
198
+ appraise 'rails7.2-graphql2.1' do
199
+ gem 'sassc-rails'
200
+ gem 'devise_token_auth', '>= 1.2.1'
201
+ gem 'devise', '>= 4.7'
202
+ gem 'rails', git: 'https://github.com/rails/rails', branch: '7-2-stable'
203
+ gem 'graphql', '>= 2.1', '< 2.2'
204
+ end
205
+
206
+ appraise 'rails7.2-graphql2.2' do
207
+ gem 'sassc-rails'
208
+ gem 'devise_token_auth', '>= 1.2.1'
209
+ gem 'devise', '>= 4.7'
210
+ gem 'rails', git: 'https://github.com/rails/rails', branch: '7-2-stable'
211
+ gem 'graphql', '>= 2.2', '< 2.3'
212
+ end
213
+
214
+ appraise 'rails7.2-graphql2.3' do
215
+ gem 'sassc-rails'
216
+ gem 'devise_token_auth', '>= 1.2.1'
217
+ gem 'devise', '>= 4.7'
218
+ gem 'rails', git: 'https://github.com/rails/rails', branch: '7-2-stable'
219
+ gem 'graphql', '>= 2.3', '< 2.4'
220
+ end
221
+
222
+ appraise 'rails7.2-graphql2.4' do
223
+ gem 'sassc-rails'
224
+ gem 'devise_token_auth', '>= 1.2.1'
225
+ gem 'devise', '>= 4.7'
226
+ gem 'rails', git: 'https://github.com/rails/rails', branch: '7-2-stable'
227
+ gem 'graphql', '>= 2.4', '< 2.5'
228
+ end
data/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # Changelog
2
2
 
3
+ ## [v2.0.0](https://github.com/graphql-devise/graphql_devise/tree/v2.0.0) (2024-12-10)
4
+
5
+ [Full Changelog](https://github.com/graphql-devise/graphql_devise/compare/v1.5.0...v2.0.0)
6
+
7
+ **Breaking changes:**
8
+
9
+ - Drop support for Rails \< 6.0 and Ruby \< 2.7 [\#276](https://github.com/graphql-devise/graphql_devise/pull/276) ([HeyNonster](https://github.com/HeyNonster))
10
+
11
+ **Implemented enhancements:**
12
+
13
+ - Add support for GraphQL 2.4 [\#281](https://github.com/graphql-devise/graphql_devise/pull/281) ([mcelicalderon](https://github.com/mcelicalderon))
14
+ - Test with Ruby 3.2 and 3.3 [\#279](https://github.com/graphql-devise/graphql_devise/pull/279) ([mcelicalderon](https://github.com/mcelicalderon))
15
+ - Add support for Rails 7.2 [\#278](https://github.com/graphql-devise/graphql_devise/pull/278) ([mcelicalderon](https://github.com/mcelicalderon))
16
+
17
+ ## [v1.5.0](https://github.com/graphql-devise/graphql_devise/tree/v1.5.0) (2024-05-16)
18
+
19
+ [Full Changelog](https://github.com/graphql-devise/graphql_devise/compare/v1.4.0...v1.5.0)
20
+
21
+ **Implemented enhancements:**
22
+
23
+ - Add support for graphql 2.2 and 2.3 [\#271](https://github.com/graphql-devise/graphql_devise/pull/271) ([00dav00](https://github.com/00dav00))
24
+ - Support Rails 7.1 [\#267](https://github.com/graphql-devise/graphql_devise/pull/267) ([mcelicalderon](https://github.com/mcelicalderon))
25
+
3
26
  ## [v1.4.0](https://github.com/graphql-devise/graphql_devise/tree/v1.4.0) (2023-10-30)
4
27
 
5
28
  [Full Changelog](https://github.com/graphql-devise/graphql_devise/compare/v1.3.0...v1.4.0)
@@ -1,9 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GraphqlDevise
4
- ApplicationController = if Rails::VERSION::MAJOR >= 5
5
- Class.new(ActionController::API)
6
- else
7
- Class.new(ActionController::Base)
8
- end
4
+ ApplicationController = Class.new(ActionController::API)
9
5
  end
@@ -0,0 +1,11 @@
1
+ #!ruby
2
+
3
+ ruby_version = Gem::Version.new(RUBY_VERSION)
4
+
5
+ if ruby_version < Gem::Version.new('2.6')
6
+ system('gem install bundler -v 2.3.27')
7
+ elsif ruby_version >= Gem::Version.new('2.6') && ruby_version < Gem::Version.new('3.0')
8
+ system('gem install bundler -v 2.4.22')
9
+ else
10
+ system('gem install bundler')
11
+ end
@@ -25,11 +25,11 @@ Gem::Specification.new do |spec|
25
25
  `git ls-files -z`.split("\x0").select { |f| f.match(%r{^spec/}) }
26
26
  end
27
27
 
28
- spec.required_ruby_version = '>= 2.4.4'
28
+ spec.required_ruby_version = '>= 2.7.0'
29
29
 
30
30
  spec.add_dependency 'devise_token_auth', '>= 0.1.43', '< 2.0'
31
- spec.add_dependency 'graphql', '>= 1.8', '< 2.2'
32
- spec.add_dependency 'rails', '>= 4.2', '< 7.1'
31
+ spec.add_dependency 'graphql', '>= 1.8', '< 2.5'
32
+ spec.add_dependency 'rails', '>= 6.0', '< 7.3'
33
33
  spec.add_dependency 'zeitwerk'
34
34
 
35
35
  spec.add_development_dependency 'appraisal'
@@ -38,13 +38,13 @@ Gem::Specification.new do |spec|
38
38
  spec.add_development_dependency 'faker'
39
39
  spec.add_development_dependency 'generator_spec'
40
40
  spec.add_development_dependency 'github_changelog_generator'
41
- spec.add_development_dependency 'pry', '~> 0.12.2'
41
+ spec.add_development_dependency 'pry', '>= 0.14.2'
42
42
  spec.add_development_dependency 'pry-byebug'
43
43
  spec.add_development_dependency 'rake', '>= 12.3.3'
44
- spec.add_development_dependency 'rspec-rails', '~> 4.0'
44
+ spec.add_development_dependency 'rspec-rails'
45
45
  spec.add_development_dependency 'rubocop', '< 0.82.0'
46
46
  spec.add_development_dependency 'rubocop-performance', '< 1.6.0'
47
47
  spec.add_development_dependency 'rubocop-rails', '< 2.6.0'
48
48
  spec.add_development_dependency 'rubocop-rspec', '< 1.39.0'
49
- spec.add_development_dependency 'sqlite3', '~> 1.3'
49
+ spec.add_development_dependency 'sqlite3'
50
50
  end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GraphqlDevise
4
+ module FieldAuthTracer
5
+ def initialize(authenticate_default:, public_introspection:, unauthenticated_proc:, **_rest)
6
+ @authenticate_default = authenticate_default
7
+ @public_introspection = public_introspection
8
+ @unauthenticated_proc = unauthenticated_proc
9
+
10
+ super
11
+ end
12
+
13
+ def execute_field(field:, query:, ast_node:, arguments:, object:)
14
+ # Authenticate only root level queries
15
+ return super unless query.context.current_path.count == 1
16
+
17
+ auth_required = authenticate_option(field)
18
+
19
+ if auth_required && !(public_introspection && introspection_field?(field.name))
20
+ raise_on_missing_resource(query.context, field, auth_required)
21
+ end
22
+
23
+ super
24
+ end
25
+
26
+ private
27
+
28
+ attr_reader :public_introspection
29
+
30
+ def authenticate_option(field)
31
+ auth_required = field.try(:authenticate)
32
+
33
+ auth_required.nil? ? @authenticate_default : auth_required
34
+ end
35
+
36
+ def introspection_field?(field_name)
37
+ SchemaPlugin::INTROSPECTION_FIELDS.include?(field_name.downcase)
38
+ end
39
+
40
+ def raise_on_missing_resource(context, field, auth_required)
41
+ @unauthenticated_proc.call(field.name) if context[:current_resource].blank?
42
+
43
+ if auth_required.respond_to?(:call) && !auth_required.call(context[:current_resource])
44
+ @unauthenticated_proc.call(field.name)
45
+ end
46
+ end
47
+ end
48
+ end
@@ -52,11 +52,7 @@ module GraphqlDevise
52
52
  end
53
53
 
54
54
  def email_in_database
55
- if Devise.activerecord51?
56
- @resource.email_in_database
57
- else
58
- @resource.email_was
59
- end
55
+ @resource.email_in_database
60
56
  end
61
57
 
62
58
  def confirmation_method_params
@@ -19,7 +19,16 @@ module GraphqlDevise
19
19
  end
20
20
 
21
21
  def use(schema_definition)
22
- schema_definition.tracer(self)
22
+ if Gem::Version.new(GraphQL::VERSION) >= Gem::Version.new('2.3')
23
+ schema_definition.trace_with(
24
+ FieldAuthTracer,
25
+ authenticate_default: @authenticate_default,
26
+ public_introspection: public_introspection,
27
+ unauthenticated_proc: @unauthenticated_proc
28
+ )
29
+ else
30
+ schema_definition.tracer(self)
31
+ end
23
32
  end
24
33
 
25
34
  def trace(event, trace_data)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GraphqlDevise
4
- VERSION = '1.4.0'
4
+ VERSION = '2.0.0'
5
5
  end
@@ -27,9 +27,5 @@ module Dummy
27
27
  # Middleware like session, flash, cookies can be added back manually.
28
28
  # Skip views, helpers and assets when generating a new resource.
29
29
  # config.api_only = true
30
-
31
- if Rails::VERSION::MAJOR >= 5 && Rails::VERSION::MINOR > 1
32
- config.active_record.sqlite3.represent_boolean_as_integer = true
33
- end
34
30
  end
35
31
  end
@@ -15,13 +15,8 @@ Rails.application.configure do
15
15
  config.eager_load = ENV['EAGER_LOAD'].present?
16
16
 
17
17
  # Configure public file server for tests with Cache-Control for performance.
18
- if Rails::VERSION::MAJOR >= 5
19
- config.public_file_server.enabled = true
20
- config.public_file_server.headers = { 'Cache-Control' => 'public, max-age=3600' }
21
- else
22
- config.serve_static_files = true
23
- config.static_cache_control = 'public, max-age=3600'
24
- end
18
+ config.public_file_server.enabled = true
19
+ config.public_file_server.headers = { 'Cache-Control' => 'public, max-age=3600' }
25
20
 
26
21
  # Show full error reports and disable caching.
27
22
  config.consider_all_requests_local = true
@@ -4,7 +4,14 @@
4
4
  require 'rails_helper'
5
5
  require 'generators/graphql_devise/install_generator'
6
6
 
7
- RSpec.describe GraphqlDevise::InstallGenerator, type: :generator do
7
+ # NOTE: Skipping tests because of a problem between zeitwerk and GQL versions 2.1.0 & 2.2.14
8
+ skip_generator_tests =
9
+ Gem::Version.new(GraphQL::VERSION).between?(
10
+ Gem::Version.new('2.1.0'),
11
+ Gem::Version.new('2.2.14')
12
+ ) && Gem::Version.new(Rails.version) >= Gem::Version.new('7.0.0')
13
+
14
+ RSpec.describe GraphqlDevise::InstallGenerator, type: :generator, skip: skip_generator_tests do
8
15
  destination File.expand_path('../../../../gqld_dummy', __dir__)
9
16
 
10
17
  let(:routes_path) { "#{destination_root}/config/routes.rb" }
@@ -33,17 +33,6 @@ RSpec.describe GraphqlDevise::GraphqlController do
33
33
  end
34
34
  end
35
35
 
36
- context 'when variables are not a string or hash' do
37
- let(:variables) { 1 }
38
- let(:query) { "mutation($email: String!) { userLogin(email: $email, password: \"#{password}\") { user { email name signInCount } } }" }
39
-
40
- it 'raises an error' do
41
- expect do
42
- post_request('/api/v1/graphql_auth')
43
- end.to raise_error(ArgumentError)
44
- end
45
- end
46
-
47
36
  context 'when multiplexing queries' do
48
37
  let(:params) do
49
38
  {
@@ -74,10 +63,6 @@ RSpec.describe GraphqlDevise::GraphqlController do
74
63
  end
75
64
 
76
65
  def post_request(path)
77
- if Rails::VERSION::MAJOR >= 5
78
- post(path, params: params)
79
- else
80
- post(path, params)
81
- end
66
+ post(path, params: params)
82
67
  end
83
68
  end
@@ -128,7 +128,7 @@ RSpec.describe 'Registration process' do
128
128
 
129
129
  it 'skips the register mutation' do
130
130
  expect(json_response[:errors]).to contain_exactly(
131
- hash_including(message: "Field 'adminRegister' doesn't exist on type 'Mutation'")
131
+ hash_including(message: a_string_including("Field 'adminRegister' doesn't exist on type 'Mutation'"))
132
132
  )
133
133
  end
134
134
  end
@@ -116,7 +116,13 @@ RSpec.describe 'Login Requests' do
116
116
 
117
117
  context 'and introspection is set to require auth' do
118
118
  before do
119
- allow_any_instance_of(GraphqlDevise::SchemaPlugin).to(
119
+ target_class = if Gem::Version.new(GraphQL::VERSION) >= Gem::Version.new('2.3')
120
+ GraphqlDevise::FieldAuthTracer
121
+ else
122
+ GraphqlDevise::SchemaPlugin
123
+ end
124
+
125
+ allow_any_instance_of(target_class).to(
120
126
  receive(:public_introspection).and_return(false)
121
127
  )
122
128
  end
data/spec/spec_helper.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- if ENV['CI'] && !ENV['SKIP_COVERALLS'] && Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.5')
3
+ if ENV['CI'] && !ENV['SKIP_COVERALLS']
4
4
  require 'simplecov'
5
5
  require 'coveralls'
6
6
 
@@ -4,11 +4,7 @@ RSpec.shared_context 'with graphql query request' do
4
4
  let(:headers) { {} }
5
5
  let(:variables) { {} }
6
6
  let(:graphql_params) do
7
- if Rails::VERSION::MAJOR >= 5
8
- { params: { query: query, variables: variables }, headers: headers }
9
- else
10
- [{ query: query, variables: variables }, headers]
11
- end
7
+ { params: { query: query, variables: variables }, headers: headers }
12
8
  end
13
9
 
14
10
  def post_request(path = '/api/v1/graphql_auth')
@@ -20,10 +16,6 @@ RSpec.shared_context 'with graphql query request' do
20
16
  end
21
17
 
22
18
  def send_request(path, method)
23
- if Rails::VERSION::MAJOR >= 5
24
- public_send(method, path, **graphql_params)
25
- else
26
- public_send(method, path, *graphql_params)
27
- end
19
+ public_send(method, path, **graphql_params)
28
20
  end
29
21
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: graphql_devise
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mario Celi
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2023-10-30 00:00:00.000000000 Z
12
+ date: 2024-12-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: devise_token_auth
@@ -40,7 +40,7 @@ dependencies:
40
40
  version: '1.8'
41
41
  - - "<"
42
42
  - !ruby/object:Gem::Version
43
- version: '2.2'
43
+ version: '2.5'
44
44
  type: :runtime
45
45
  prerelease: false
46
46
  version_requirements: !ruby/object:Gem::Requirement
@@ -50,27 +50,27 @@ dependencies:
50
50
  version: '1.8'
51
51
  - - "<"
52
52
  - !ruby/object:Gem::Version
53
- version: '2.2'
53
+ version: '2.5'
54
54
  - !ruby/object:Gem::Dependency
55
55
  name: rails
56
56
  requirement: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - ">="
59
59
  - !ruby/object:Gem::Version
60
- version: '4.2'
60
+ version: '6.0'
61
61
  - - "<"
62
62
  - !ruby/object:Gem::Version
63
- version: '7.1'
63
+ version: '7.3'
64
64
  type: :runtime
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
68
  - - ">="
69
69
  - !ruby/object:Gem::Version
70
- version: '4.2'
70
+ version: '6.0'
71
71
  - - "<"
72
72
  - !ruby/object:Gem::Version
73
- version: '7.1'
73
+ version: '7.3'
74
74
  - !ruby/object:Gem::Dependency
75
75
  name: zeitwerk
76
76
  requirement: !ruby/object:Gem::Requirement
@@ -173,16 +173,16 @@ dependencies:
173
173
  name: pry
174
174
  requirement: !ruby/object:Gem::Requirement
175
175
  requirements:
176
- - - "~>"
176
+ - - ">="
177
177
  - !ruby/object:Gem::Version
178
- version: 0.12.2
178
+ version: 0.14.2
179
179
  type: :development
180
180
  prerelease: false
181
181
  version_requirements: !ruby/object:Gem::Requirement
182
182
  requirements:
183
- - - "~>"
183
+ - - ">="
184
184
  - !ruby/object:Gem::Version
185
- version: 0.12.2
185
+ version: 0.14.2
186
186
  - !ruby/object:Gem::Dependency
187
187
  name: pry-byebug
188
188
  requirement: !ruby/object:Gem::Requirement
@@ -215,16 +215,16 @@ dependencies:
215
215
  name: rspec-rails
216
216
  requirement: !ruby/object:Gem::Requirement
217
217
  requirements:
218
- - - "~>"
218
+ - - ">="
219
219
  - !ruby/object:Gem::Version
220
- version: '4.0'
220
+ version: '0'
221
221
  type: :development
222
222
  prerelease: false
223
223
  version_requirements: !ruby/object:Gem::Requirement
224
224
  requirements:
225
- - - "~>"
225
+ - - ">="
226
226
  - !ruby/object:Gem::Version
227
- version: '4.0'
227
+ version: '0'
228
228
  - !ruby/object:Gem::Dependency
229
229
  name: rubocop
230
230
  requirement: !ruby/object:Gem::Requirement
@@ -285,16 +285,16 @@ dependencies:
285
285
  name: sqlite3
286
286
  requirement: !ruby/object:Gem::Requirement
287
287
  requirements:
288
- - - "~>"
288
+ - - ">="
289
289
  - !ruby/object:Gem::Version
290
- version: '1.3'
290
+ version: '0'
291
291
  type: :development
292
292
  prerelease: false
293
293
  version_requirements: !ruby/object:Gem::Requirement
294
294
  requirements:
295
- - - "~>"
295
+ - - ">="
296
296
  - !ruby/object:Gem::Version
297
- version: '1.3'
297
+ version: '0'
298
298
  description: GraphQL queries and mutations on top of devise_token_auth
299
299
  email:
300
300
  - mcelicalderon@gmail.com
@@ -323,6 +323,7 @@ files:
323
323
  - app/views/graphql_devise/mailer/confirmation_instructions.html.erb
324
324
  - app/views/graphql_devise/mailer/reset_password_instructions.html.erb
325
325
  - bin/console
326
+ - bin/install_bundler.rb
326
327
  - bin/rails
327
328
  - bin/setup
328
329
  - config/locales/en.yml
@@ -346,6 +347,7 @@ files:
346
347
  - lib/graphql_devise/errors/error_codes.rb
347
348
  - lib/graphql_devise/errors/execution_error.rb
348
349
  - lib/graphql_devise/errors/user_error.rb
350
+ - lib/graphql_devise/field_auth_tracer.rb
349
351
  - lib/graphql_devise/model/with_email_updater.rb
350
352
  - lib/graphql_devise/mount_method/operation_preparer.rb
351
353
  - lib/graphql_devise/mount_method/operation_preparers/custom_operation_preparer.rb
@@ -522,14 +524,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
522
524
  requirements:
523
525
  - - ">="
524
526
  - !ruby/object:Gem::Version
525
- version: 2.4.4
527
+ version: 2.7.0
526
528
  required_rubygems_version: !ruby/object:Gem::Requirement
527
529
  requirements:
528
530
  - - ">="
529
531
  - !ruby/object:Gem::Version
530
532
  version: '0'
531
533
  requirements: []
532
- rubygems_version: 3.1.6
534
+ rubygems_version: 3.5.1
533
535
  signing_key:
534
536
  specification_version: 4
535
537
  summary: GraphQL queries and mutations on top of devise_token_auth