Skip to content

Commit 34267ba

Browse files
committed
docs: clean up CHANGELOG for PR ashkan18#116
- All entries single-line matching file convention (no continuation lines) - ashkan18#115 entries restored to their original order and not modified - ashkan18#116 prefix added to all directives/fragments/scalars/CI entries
1 parent a7628c3 commit 34267ba

1 file changed

Lines changed: 9 additions & 28 deletions

File tree

CHANGELOG.md

Lines changed: 9 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,34 +2,15 @@
22
* Your contribution here.
33
* [#113](https://github.com/ashkan18/graphlient/pull/113): Fix CI builds - [@yuki24](https://github.com/yuki24).
44
* [#112](https://github.com/ashkan18/graphlient/pull/112): Update graphql-client github repository links in README - [@th1988](https://github.com/th1988).
5-
* [#115](https://github.com/ashkan18/graphlient/pull/115): `Client#to_query_string(**kargs, &block)`: builds the full GraphQL query document from the
6-
DSL block and returns a `String` without touching the schema or Faraday HTTP adapter.
7-
Enables DSL-only mode where HTTP dispatch is handled externally - [@rellampec](https://github.com/rellampec).
8-
* [#115](https://github.com/ashkan18/graphlient/pull/115): `Query#spread(fragment_name)`: emits `...FragmentName` into the query string as a named
9-
fragment spread. Alternative to the `___Const` convention for use cases where
10-
`graphql-client` constant parsing is not available - [@rellampec](https://github.com/rellampec).
11-
* Directive DSL (`_name` convention): any method starting with `_` followed by a lowercase
12-
letter is treated as a GraphQL directive — `_skip(if: :x)``@skip(if: $x)`,
13-
`_include(if: :x)``@include(if: $x)`, custom directives supported. Directives can be
14-
applied to fields, fragment spreads, and inline fragments - [@rellampec](https://github.com/rellampec).
15-
* `on(:TypeName, *directives, &block)`: inline fragment DSL — `on(:PaidInvoice) { amountPaid }`
16-
`... on PaidInvoice { amountPaid }`. Accepts directive arguments the same way as fields
17-
- [@rellampec](https://github.com/rellampec).
18-
* `fragment(:Name, on: :Type, &block)`: inline fragment definition — defines a named fragment
19-
body using the same DSL and appends it to the query document automatically. Fragments are
20-
scoped to the query call; no global registry - [@rellampec](https://github.com/rellampec).
21-
* Custom scalar registration: `client = Graphlient::Client.new(url) { |c| c.scalar :date, 'Date' }`
22-
— registers additional scalar types for use in variable declarations (`:date``Date`,
23-
`:uuid``UUID`, etc.) alongside the built-in `:int`, `:float`, `:string`, `:boolean`
24-
- [@rellampec](https://github.com/rellampec).
25-
* `Query` refactored into `Query::Serializer` composed from focused concern modules
26-
(`Scalars`, `Arguments`, `Evaluator`, `Fragments`, `Directives`). Public API unchanged
27-
- [@rellampec](https://github.com/rellampec).
28-
* CI: added Ruby 3.4 to the required test matrix; fixed Ruby 3.1 compatibility via
29-
WebMock `stub_request.to_rack`; fixed Ruby 3.4 `mutex_m` dependency
30-
- [@rellampec](https://github.com/rellampec).
31-
* [#115](https://github.com/ashkan18/graphlient/pull/115): `spec/spec_helper.rb`: rescue `LoadError` on `byebug` require so specs run on platforms
32-
where byebug is not installable (e.g. Windows with Ruby 3.2) - [@rellampec](https://github.com/rellampec).
5+
* [#115](https://github.com/ashkan18/graphlient/pull/115): `Client#to_query_string(**kargs, &block)`: serializes a DSL block to a `String` without schema loading or HTTP — enables DSL-only mode and external HTTP dispatch - [@rellampec](https://github.com/rellampec).
6+
* [#115](https://github.com/ashkan18/graphlient/pull/115): `Query#spread(fragment_name)`: emits `...FragmentName` in the query string — cleaner alternative to the `___Const` triple-underscore convention - [@rellampec](https://github.com/rellampec).
7+
* [#115](https://github.com/ashkan18/graphlient/pull/115): `spec/spec_helper.rb`: rescue `LoadError` on `byebug` require for platforms where byebug is unavailable (e.g. Windows Ruby 3.2) - [@rellampec](https://github.com/rellampec).
8+
* [#116](https://github.com/ashkan18/graphlient/pull/116): Directive DSL — `_skip(if: :x)``@skip(if: $x)`, `_include(if: :x)``@include(if: $x)`. Any `_name` method is treated as a `@name` directive; applies to fields, spreads, and inline fragments - [@rellampec](https://github.com/rellampec).
9+
* [#116](https://github.com/ashkan18/graphlient/pull/116): `on(:TypeName, *directives, &block)`: inline fragment DSL — `on(:PaidInvoice) { amountPaid }``... on PaidInvoice { amountPaid }` - [@rellampec](https://github.com/rellampec).
10+
* [#116](https://github.com/ashkan18/graphlient/pull/116): `fragment(:Name, on: :Type, &block)`: inline fragment definition appended to the query document automatically; scoped to the query call, no global registry - [@rellampec](https://github.com/rellampec).
11+
* [#116](https://github.com/ashkan18/graphlient/pull/116): Custom scalar registration — `c.scalar :date, 'Date'` extends the built-in scalar set (`:int`, `:float`, `:string`, `:boolean`) with API-specific types - [@rellampec](https://github.com/rellampec).
12+
* [#116](https://github.com/ashkan18/graphlient/pull/116): `Query` refactored into `Query::Serializer` composed from concern modules (`Scalars`, `Arguments`, `Evaluator`, `Fragments`, `Directives`). Public API unchanged - [@rellampec](https://github.com/rellampec).
13+
* [#116](https://github.com/ashkan18/graphlient/pull/116): CI: Ruby 3.4 added to test matrix; Ruby 3.1 WebMock `to_rack` fix; `mutex_m` gem added for Ruby 3.4 stdlib removal - [@rellampec](https://github.com/rellampec).
3314

3415
### 0.8.0 (2024/01/06)
3516
* [#110](https://github.com/ashkan18/graphlient/pull/110): Ensure correct Faraday JSON response body parsing with invalid response header - [@taylorthurlow](https://github.com/taylorthurlow).

0 commit comments

Comments
 (0)