graphql-rails-i18n 0.1 → 0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/graphql/schema/directive/locale.rb +18 -12
- data/spec/graphql/schema/directive/locale_spec.rb +2 -2
- data/spec/spec_helper.rb +2 -2
- metadata +20 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f52423dbe5fc8e4f717d8c356929f7edbe2e464e4100117bc6db55b8e6990bfc
|
4
|
+
data.tar.gz: 316a3a03dc6edfc2e406bdf49055d30510fe4f3a49a376da6059dbf48e0ec31a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cbbdb2e492a3e7774c93c105b42da84d4af73a1075ad62d12c03812a541084cd8c68cbdb7194e5f75b7aa4620e5b0044b226df9eec70c72d8a11f315f0e149af
|
7
|
+
data.tar.gz: 38661b2413561aed98d1417ef84a9571d4643d5104ec53e98d1f248a4f9c14a9d672176698fe072d68192af9654932125f96d7df5749f84eef5539f748c1c0bd
|
@@ -1,21 +1,27 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
4
|
-
class
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
3
|
+
module GraphQL
|
4
|
+
class Schema
|
5
|
+
class Directive
|
6
|
+
class Locale < GraphQL::Schema::Directive
|
7
|
+
class LocaleEnum < GraphQL::Schema::Enum
|
8
|
+
def self.locale(codename:, description: '')
|
9
|
+
value(codename.underscore, description: description, value: codename)
|
10
|
+
end
|
11
|
+
end
|
9
12
|
|
10
|
-
|
13
|
+
locations GraphQL::Schema::Directive::FIELD
|
11
14
|
|
12
|
-
|
15
|
+
attr_accessor :locale_enum
|
13
16
|
|
14
|
-
|
17
|
+
argument :lang, type: LocaleEnum, required: false
|
15
18
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
+
def self.resolve(_object, argument, _context)
|
20
|
+
I18n.with_locale(argument[:lang]) do
|
21
|
+
yield
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
19
25
|
end
|
20
26
|
end
|
21
27
|
end
|
@@ -21,7 +21,6 @@ describe GraphQL::Schema::Directive::Locale do
|
|
21
21
|
directive(GraphQL::Schema::Directive::Locale)
|
22
22
|
|
23
23
|
query(Query)
|
24
|
-
# only supported by the interpreter
|
25
24
|
use GraphQL::Execution::Interpreter
|
26
25
|
end
|
27
26
|
|
@@ -47,13 +46,14 @@ describe GraphQL::Schema::Directive::Locale do
|
|
47
46
|
|
48
47
|
context 'when @locale directive is not used' do
|
49
48
|
it 'does not call I18n.with_locale' do
|
49
|
+
expect(I18n).not_to receive(:with_locale)
|
50
|
+
|
50
51
|
str = '{
|
51
52
|
result: localizedHello
|
52
53
|
}'
|
53
54
|
|
54
55
|
res = LocaleSchema.execute(str)
|
55
56
|
|
56
|
-
expect(I18n).not_to receive(:with_locale)
|
57
57
|
expect(res['data']['result']).to eq('Hello in default language')
|
58
58
|
end
|
59
59
|
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,29 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: graphql-rails-i18n
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.2'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kenneth Law
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-02-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rubocop
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.49'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0.49'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: graphql
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
16
30
|
requirements:
|
17
|
-
- -
|
31
|
+
- - '='
|
18
32
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.9.
|
33
|
+
version: 1.9.pre3
|
20
34
|
type: :runtime
|
21
35
|
prerelease: false
|
22
36
|
version_requirements: !ruby/object:Gem::Requirement
|
23
37
|
requirements:
|
24
|
-
- -
|
38
|
+
- - '='
|
25
39
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.9.
|
40
|
+
version: 1.9.pre3
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: rails
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|