Skip to content

Commit 63df47b

Browse files
committed
Merge branch 'field-filter-instances' into field-extensions-1.9
2 parents 82cbc7f + 46db5a9 commit 63df47b

File tree

178 files changed

+4151
-1658
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

178 files changed

+4151
-1658
lines changed

.codeclimate.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
version: "2"
22
exclude_patterns:
3+
- "spec/"
34
- "lib/graphql/language/lexer.rb"
45
- "lib/graphql/language/parser.rb"
56
# plugin - duplication - is failing on these

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,4 @@ tmp/*
1919
__*.db
2020
node_modules/
2121
OperationStoreClient.js
22+
spec/integration/tmp

.rubocop.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ AllCops:
77
- 'gemfiles/**/*'
88
- 'tmp/**/*'
99
- 'vendor/**/*'
10+
- 'spec/integration/tmp/**/*'
1011

1112
# def ...
1213
# end

.travis.yml

Lines changed: 35 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,29 @@
11
---
22
language: ruby
3+
34
sudo: false
5+
46
cache:
57
- bundler
68
- yarn
9+
710
node_js: "7"
811

912
env:
1013
global:
1114
- CODECLIMATE_REPO_TOKEN=f5b27b2e25d3f4e199bb2566fb4fd4507144a004c71d4aa33a32c2df5f940333
15+
1216
before_install:
1317
- gem update --system --no-doc
1418
- gem install bundler
1519

1620
rvm:
17-
- 2.2.8 # Lowest version officially supported by the gem is 2.2
18-
- 2.4.3
19-
20-
services:
21-
- postgresql
22-
- mongodb
23-
24-
before_script:
25-
- psql -c 'create database graphql_ruby_test;' -U postgres
26-
27-
gemfile:
28-
- gemfiles/rails_3.2.gemfile
29-
- gemfiles/rails_4.1.gemfile
30-
- gemfiles/rails_4.2.gemfile
31-
- gemfiles/rails_5.0.gemfile
32-
- gemfiles/rails_5.1.gemfile
33-
- gemfiles/rails_5.2.gemfile
34-
21+
- 2.2.8
3522

3623
matrix:
3724
include:
3825
- env:
39-
- SYSTEM_TESTS=yes
4026
- DISPLAY=':99.0'
41-
gemfile: gemfiles/rails_5.1.gemfile
4227
rvm: 2.4.3
4328
addons:
4429
apt:
@@ -52,23 +37,39 @@ matrix:
5237
- unzip chromedriver_linux64.zip && chmod +x chromedriver && sudo mv chromedriver /usr/local/bin
5338
before_script:
5439
- sh -e /etc/init.d/xvfb start
55-
- env: DATABASE=POSTGRESQL
56-
gemfile: gemfiles/rails_5.1.gemfile
57-
rvm: 2.4.3
58-
- env: WITHOUT_RAILS=yes
59-
gemfile: gemfiles/without_rails.gemfile
60-
rvm: 2.4.3
61-
62-
exclude:
63-
- rvm: 2.4.3
40+
gemfile: spec/dummy/Gemfile
41+
script:
42+
- cd spec/dummy && bundle exec rails test:system
43+
- rvm: 2.2.8
44+
gemfile: Gemfile
45+
- rvm: 2.2.8
6446
gemfile: gemfiles/rails_3.2.gemfile
65-
- rvm: 2.4.3
47+
- rvm: 2.2.8
6648
gemfile: gemfiles/rails_4.1.gemfile
67-
- rvm: 2.4.3
68-
gemfile: gemfiles/rails_4.2.gemfile
6949
- rvm: 2.2.8
50+
gemfile: gemfiles/rails_4.2.gemfile
51+
- rvm: 2.4.3
7052
gemfile: gemfiles/rails_5.0.gemfile
71-
- rvm: 2.2.8
53+
- rvm: 2.4.3
7254
gemfile: gemfiles/rails_5.1.gemfile
73-
- rvm: 2.2.8
55+
- rvm: 2.4.3
7456
gemfile: gemfiles/rails_5.2.gemfile
57+
- rvm: 2.4.3
58+
gemfile: gemfiles/mongoid_7.gemfile
59+
services:
60+
- mongodb
61+
- rvm: 2.4.3
62+
gemfile: gemfiles/mongoid_6.gemfile
63+
services:
64+
- mongodb
65+
- rvm: 2.4.3
66+
gemfile: gemfiles/mongoid_5.gemfile
67+
services:
68+
- mongodb
69+
- env: DATABASE=POSTGRESQL
70+
rvm: 2.4.3
71+
gemfile: gemfiles/rails_5.2_postgresql.gemfile
72+
services:
73+
- postgresql
74+
before_script:
75+
- psql -c 'create database graphql_ruby_test;' -U postgres

Appraisals

Lines changed: 42 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,76 @@
11
# frozen_string_literal: true
22
appraise 'rails_3.2' do
3-
gem "rails", "3.2.22.5"
3+
gem 'rails', '3.2.22.5', require: 'rails/all'
44
gem 'activerecord', '~> 3.2.21'
55
gem 'actionpack', '~> 3.2.21'
66
gem 'test-unit'
7+
gem 'sqlite3', platform: :ruby
8+
gem 'activerecord-jdbcsqlite3-adapter', platform: :jruby
9+
gem 'sequel'
710
end
811

912
appraise 'rails_4.1' do
10-
gem "rails", "~> 4.1"
13+
gem 'rails', '~> 4.1', require: 'rails/all'
1114
gem 'activerecord', '~> 4.1.10'
1215
gem 'actionpack', '~> 4.1.10'
1316
gem 'test-unit'
17+
gem 'sqlite3', platform: :ruby
18+
gem 'activerecord-jdbcsqlite3-adapter', platform: :jruby
19+
gem 'sequel'
1420
end
1521

1622
appraise 'rails_4.2' do
17-
gem "rails", "~> 4.2"
23+
gem 'rails', '~> 4.2', require: 'rails/all'
1824
gem 'activerecord', '~> 4.2.4'
1925
gem 'actionpack', '~> 4.2.4'
2026
gem 'concurrent-ruby', '1.0.0'
27+
gem 'sqlite3', platform: :ruby
28+
gem 'activerecord-jdbcsqlite3-adapter', platform: :jruby
29+
gem 'sequel'
2130
end
2231

2332
appraise 'rails_5.0' do
24-
gem "rails", "~> 5.0"
33+
gem 'rails', '~> 5.0', require: 'rails/all'
2534
gem 'activerecord', '~> 5.0.0'
2635
gem 'actionpack', '~> 5.0.0'
36+
gem 'sqlite3', platform: :ruby
37+
gem 'activerecord-jdbcsqlite3-adapter', platform: :jruby
38+
gem 'sequel'
2739
end
2840

2941
appraise 'rails_5.1' do
30-
gem 'rails', '~> 5.1.0'
42+
gem 'rails', '~> 5.1.0', require: 'rails/all'
3143
# Required for testing action cable
3244
gem 'puma'
3345
# Required for system tests
34-
gem 'capybara'
46+
gem 'capybara', '~> 2.13'
3547
gem 'selenium-webdriver'
48+
gem 'sqlite3', platform: :ruby
49+
gem 'activerecord-jdbcsqlite3-adapter', platform: :jruby
50+
gem 'sequel'
3651
end
3752

38-
appraise "rails_5.2" do
39-
gem 'rails', '~> 5.2.0'
53+
appraise 'rails_5.2' do
54+
gem 'rails', '~> 5.2.0', require: 'rails/all'
55+
gem 'sqlite3', platform: :ruby
56+
gem 'activerecord-jdbcsqlite3-adapter', platform: :jruby
57+
gem 'sequel'
4058
end
4159

42-
appraise 'without_rails' do
43-
gem "globalid"
60+
appraise 'rails_5.2_postgresql' do
61+
gem 'rails', '~> 5.2.0', require: 'rails/all'
62+
gem 'pg', platform: :ruby
63+
gem 'sequel'
64+
end
65+
66+
appraise 'mongoid_7' do
67+
gem 'mongoid', '~> 7.0.1'
68+
end
69+
70+
appraise 'mongoid_6' do
71+
gem 'mongoid', '~> 6.4.1'
72+
end
73+
74+
appraise 'mongoid_5' do
75+
gem 'mongoid', '~> 5.4.0'
4476
end

CHANGELOG-pro.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,24 @@
88

99
### Bug Fix
1010

11+
## 1.7.10 (10 Aug 2018)
12+
13+
### New Features
14+
15+
- Update `PunditIntegration` for arguments, unions, interfaces and mutations
16+
17+
## 1.7.9 (9 Aug 2018)
18+
19+
### New Features
20+
21+
- Add a new `PunditIntegration` which leverages the built-in authorization methods
22+
23+
## 1.7.8 (10 July 2018)
24+
25+
### Bug Fix
26+
27+
- Authorization: fix scoping lists of abstract type when there's no `#scope` method on the strategy
28+
1129
## 1.7.7 (10 May 2018)
1230

1331
### Bug Fix

CHANGELOG.md

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,90 @@
88

99
### Bug fixes
1010

11+
## 1.8.7 (9 Aug 2018)
12+
13+
### Breaking changes
14+
15+
- Some mutation authorization hooks added in 1.8.5 were changed, see #1736 and #1737. Roughly:
16+
17+
- `before_prepare` was changed to `#ready?`
18+
- `validate_*` hooks were replaced with a single `#authorized?` method
19+
20+
### Bug fixes
21+
22+
- Argument default values include nested default values #1728
23+
- Clean up duplciate method defs #1739
24+
25+
### New features
26+
27+
- Built-in support for Mongoid 5, 6, 7 #1754
28+
- Mutation `#ready?` and `#authorized?` may halt flow and/or return data #1736, #1737
29+
- Add `.scope_items(items, ctx)` hook for filtering lists
30+
- Add `#default_graphql_name` for overriding default logic #1729
31+
- Add `#add_argument` for building schemas #1732
32+
- Cursors are decoded using `urlsafe_decode64` to future-proof for urlsafe cursors #1748
33+
34+
## 1.8.6 (31 July 2018)
35+
36+
### Breaking changes
37+
38+
- Only allow Objects to implement actual Interfaces #1715. Use `include` instead for plain Ruby modules.
39+
- Revert extending interface methods onto Objects #1716. If you were taking advantage of this feature, you can create a plain Ruby module with the functionality and include it in both the interface and object.
40+
41+
### Deprecations
42+
43+
### New features
44+
45+
- Support string descriptions (from June 2018 GraphQL spec) #1725
46+
- Add some accessors to Schema members #1722
47+
- Yield argument for definition block with arity of one #1714
48+
- Yield field for definition blocks with arity of one #1712
49+
- Support grouping by "endpoint" with skylight instrumentation #1663
50+
- Validation: Don't traverse irep if no handlers are registered #1696
51+
- Add `nodes_field` option to `edge_type` to hide nodes field #1693
52+
- Add `GraphQL::Types::ISO8601DateTime` to documentation #1694
53+
- Conditional Analyzers #1690
54+
- Improve error messages in `ActionCableSubscriptions` #1675
55+
- Add Prometheus tracing #1672
56+
- Add `map` to `InputObject` #1669
57+
58+
### Bug fixes
59+
60+
- Improve the mutation generator #1718
61+
- Fix method inheritance for interfaces #1709
62+
- Fix Interface inheritance chain #1686
63+
- Fix require in `tracing.rb` #1685
64+
- Remove delegate for `FieldResolutionContext#schema` #1682
65+
- Remove duplicated `object_class` method #1667
66+
67+
## 1.8.5 (10 July 2018)
68+
69+
### Breaking changes
70+
71+
- GraphQL validation errors now include `"filename"` if the parsed document had a `filename` #1618
72+
73+
### Deprecations
74+
75+
- `TypeKind#resolves?` is deprecated in favor of `TypeKind#abstract?` #1619
76+
77+
### New features
78+
79+
- Add Mutation loading/authorization system #1609
80+
- Interface `definition_methods` are inherited by object type classes #1635
81+
- include `"filename"` in GraphQL errors if the parsed document has a filename #1618
82+
- Add `Schema::InputObject#empty?` #1651
83+
- require `ISO8601DateTime` by default #1660
84+
- Support `extend` in the parser #1620
85+
- Improve generator to have nicer error handling in development
86+
87+
### Bug fixes
88+
89+
- Fix `@skip`/`@include` with default value of `false` #1617
90+
- Fix lists of abstract types with promises #1613
91+
- Don't check the type of `nil` when it's in a list #1610
92+
- Fix NoMethodError when `variables: nil` is passed to `execute(...)` #1661
93+
- Objects returned from `Schema.unauthorized_objects` are properly wrapped by their type proxies #1662
94+
1195
## 1.8.4 (21 June 2018)
1296

1397
### New features

Gemfile

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,9 @@
11
# frozen_string_literal: true
22
source "https://rubygems.org"
3+
34
gemspec
45

5-
gem 'rails'
66
gem 'bootsnap' # required by the Rails apps generated in tests
77
gem 'ruby-prof', platform: :ruby
8-
gem 'sqlite3', platform: :ruby
9-
gem 'pg', "< 1.0", platform: :ruby
10-
gem 'mongoid'
118
gem 'pry'
129
gem 'pry-stack_explorer', platform: :ruby
13-
gem 'activerecord-jdbcsqlite3-adapter', platform: :jruby
14-
15-
group :jekyll_plugins do
16-
gem "jekyll-algolia"
17-
gem "jekyll-redirect-from"
18-
end

0 commit comments

Comments
 (0)