graphql_authorize 0.3.0 → 0.4.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: dee6a666fb3139782c105cde6a2db8f0c1ca1cc9dc97c4a1e1e2188f4e4966a7
4
- data.tar.gz: f171efe8096eb9408aa114473b64efb5f2725f0bb6806a462c1b47ea97929b0d
3
+ metadata.gz: 41357f059b9d65f48c30b401062ec626c961edab225049c1ef92e474df2fea31
4
+ data.tar.gz: b051cfc4469d002d251ebc1a650365143db03bc51262ce6d4a1a253578df760f
5
5
  SHA512:
6
- metadata.gz: 15a3eb342c6085720000c5e41f39488af954af4e77987baf1a33ed09599d1020e9ce9fc0562ecccc773145bca917f6875432ee2af002360d7379e0ccef9a8e3c
7
- data.tar.gz: fbf8ebda9f1d64014109aca62b5efe43e491ffb12cccff128a5e0b6a45dd7a774af7ffec85d59b9b25c0e5b58a72ccdf8b2ba2336b2750b8714e5da0b270734c
6
+ metadata.gz: aae805c749a921ae201dc2e3d6d89e2c628a29b066d2b89964c16a6ff2f06bfa402cd37454c39bcd4ef8ed0dbe8a4c4431a795af9f71f7fda75b3b6680539d53
7
+ data.tar.gz: 9c8404047d9ea389ef0d3da565cdac4540b6c26a1d2184e1dd4437a08f22fe345a1bd31c89b4dde48aa3eec60097506e73aec1c527bfc9cceece7d519d613af7
data/.gitignore CHANGED
@@ -6,3 +6,6 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+
10
+ # The repo does not want this checked in
11
+ .ruby-version
data/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  ## master
4
4
 
5
+ ## 0.4.0
6
+
7
+ - [PR [#9](https://github.com/anjlab/graphql_authorize/pull/9)] Implement I18n ([@krider2010][])
8
+
5
9
  ## 0.3.0 (2018-10-09)
6
10
 
7
11
  - [PR [#7](https://github.com/DmitryTsepelev/ar_lazy_preload/pull/7)] Remove global exception handler ([@DmitryTsepelev][])
@@ -16,3 +20,4 @@
16
20
 
17
21
  [@DmitryTsepelev]: https://github.com/DmitryTsepelev
18
22
  [@serggl]: https://github.com/serggl
23
+ [@krider2010]: https://github.com/krider2010
data/Gemfile.lock CHANGED
@@ -1,8 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- graphql_authorize (0.3.0)
4
+ graphql_authorize (0.4.0)
5
5
  graphql (>= 1.6)
6
+ i18n (~> 1.1)
6
7
 
7
8
  GEM
8
9
  remote: https://rubygems.org/
@@ -16,9 +17,20 @@ GEM
16
17
  cancancan (2.2.0)
17
18
  concurrent-ruby (1.0.5)
18
19
  diff-lcs (1.3)
20
+ erubi (1.7.1)
19
21
  graphql (1.8.10)
22
+ highline (2.0.0)
20
23
  i18n (1.1.0)
21
24
  concurrent-ruby (~> 1.0)
25
+ i18n-tasks (0.9.25)
26
+ activesupport (>= 4.0.2)
27
+ ast (>= 2.1.0)
28
+ erubi
29
+ highline (>= 2.0.0)
30
+ i18n
31
+ parser (>= 2.2.3.0)
32
+ rainbow (>= 2.2.2, < 4.0)
33
+ terminal-table (>= 1.5.1)
22
34
  jaro_winkler (1.5.1)
23
35
  minitest (5.11.3)
24
36
  parallel (1.12.1)
@@ -51,6 +63,8 @@ GEM
51
63
  ruby-progressbar (~> 1.7)
52
64
  unicode-display_width (~> 1.0, >= 1.0.1)
53
65
  ruby-progressbar (1.10.0)
66
+ terminal-table (1.8.0)
67
+ unicode-display_width (~> 1.1, >= 1.1.1)
54
68
  thread_safe (0.3.6)
55
69
  tzinfo (1.2.5)
56
70
  thread_safe (~> 0.1)
@@ -64,10 +78,11 @@ DEPENDENCIES
64
78
  bundler (~> 1.16)
65
79
  cancancan (~> 2.0)
66
80
  graphql_authorize!
81
+ i18n-tasks (~> 0.9.25)
67
82
  pundit
68
83
  rake (~> 10.0)
69
84
  rspec
70
85
  rubocop
71
86
 
72
87
  BUNDLED WITH
73
- 1.16.5
88
+ 1.16.6
@@ -0,0 +1,38 @@
1
+ # i18n-tasks finds and manages missing and unused translations: https://github.com/glebm/i18n-tasks
2
+
3
+ # The "main" locale.
4
+ base_locale: en
5
+
6
+ # Read and write translations.
7
+ data:
8
+ # Locale files or `File.find` patterns where translations are read from:
9
+ read:
10
+ ## Default:
11
+ # - config/locales/%{locale}.yml
12
+
13
+ # Locale files to write new keys to, based on a list of key pattern => file rules. Matched from top to bottom:
14
+ # `i18n-tasks normalize -p` will force move the keys according to these rules
15
+ write:
16
+ ## Catch-all default:
17
+ # - config/locales/%{locale}.yml
18
+
19
+ # External locale data (e.g. gems).
20
+ # This data is not considered unused and is never written to.
21
+ external:
22
+
23
+ yaml:
24
+ write:
25
+ # do not wrap lines at 80 characters
26
+ line_width: -1
27
+
28
+ # Find translate calls
29
+ search:
30
+ ## Paths or `File.find` patterns to search in:
31
+ paths:
32
+ - lib/
33
+
34
+ ## Files or `File.fnmatch` patterns to exclude from search. Some files are always excluded regardless of this setting:
35
+ exclude:
36
+ - app/assets/images
37
+ - app/assets/fonts
38
+ - app/assets/videos
@@ -0,0 +1,8 @@
1
+ ---
2
+ en:
3
+ graphql_authorize:
4
+ auth:
5
+ canrespond: an object returned by \#auth_adapter_source call does not respond to \#can?
6
+ arrayargs: \#authorize arguments should be passed as array, e.g. `authorize [:read, Post]`
7
+ graphql:
8
+ accessdenied: Access to the field '%{name}' is denied!
@@ -26,6 +26,7 @@ Gem::Specification.new do |spec|
26
26
  spec.required_ruby_version = ">= 2.3"
27
27
 
28
28
  spec.add_dependency "graphql", ">= 1.6"
29
+ spec.add_dependency "i18n", "~> 1.1"
29
30
 
30
31
  spec.add_development_dependency "bundler", "~> 1.16"
31
32
  spec.add_development_dependency "rake", "~> 10.0"
@@ -34,4 +35,5 @@ Gem::Specification.new do |spec|
34
35
  spec.add_development_dependency "cancancan", "~> 2.0"
35
36
  spec.add_development_dependency "pundit"
36
37
  spec.add_development_dependency "activesupport"
38
+ spec.add_development_dependency "i18n-tasks", "~> 0.9.25"
37
39
  end
@@ -27,6 +27,9 @@ module GraphqlAuthorize
27
27
  end
28
28
  end
29
29
 
30
+ # Default, if not specified, is :en
31
+ I18n.load_path << Dir[File.expand_path("config/locales") + "/*.yml"]
32
+
30
33
  GraphQL::Field.include(GraphqlAuthorize::Field)
31
34
 
32
35
  GraphQL::Schema::Field.include(GraphqlAuthorize::SchemaField) if supports_class_syntax?
@@ -5,13 +5,11 @@ module GraphqlAuthorize
5
5
  class CanCanCan < Base
6
6
  def authorize
7
7
  unless field_definition.authorize.is_a?(Array)
8
- raise ArgumentError,
9
- "#authorize arguments should be passed as array, e.g. `authorize [:read, Post]`"
8
+ raise ArgumentError, I18n.t("graphql_authorize.auth.arrayargs")
10
9
  end
11
10
 
12
11
  unless source.respond_to?(:can?)
13
- raise ArgumentError,
14
- "an object returned by #auth_adapter_source call does not respond to #can?"
12
+ raise ArgumentError, I18n.t("graphql_authorize.auth.canrespond")
15
13
  end
16
14
 
17
15
  source.can?(*field_definition.authorize)
@@ -7,7 +7,9 @@ module GraphqlAuthorize
7
7
  if authorized?(field_definition, parent_object, field_args, context)
8
8
  super
9
9
  else
10
- GraphQL::ExecutionError.new("Access to the field '#{field_definition.name}' is denied!")
10
+ GraphQL::ExecutionError.new(
11
+ I18n.t("graphql_authorize.graphql.accessdenied", name: field_definition.name)
12
+ )
11
13
  end
12
14
  end
13
15
  # rubocop:enable Metrics/ParameterLists
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GraphqlAuthorize
4
- VERSION = "0.3.0"
4
+ VERSION = "0.4.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: graphql_authorize
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - DmitryTsepelev
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-10-09 00:00:00.000000000 Z
11
+ date: 2018-10-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: graphql
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.6'
27
+ - !ruby/object:Gem::Dependency
28
+ name: i18n
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.1'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.1'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bundler
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -122,6 +136,20 @@ dependencies:
122
136
  - - ">="
123
137
  - !ruby/object:Gem::Version
124
138
  version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: i18n-tasks
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: 0.9.25
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 0.9.25
125
153
  description: Auth support for ruby-graphql
126
154
  email:
127
155
  - dmitry.a.tsepelev@gmail.com
@@ -140,6 +168,8 @@ files:
140
168
  - Rakefile
141
169
  - bin/console
142
170
  - bin/setup
171
+ - config/i18n-tasks.yml
172
+ - config/locales/en.yml
143
173
  - gemfiles/graphql-1.6.gemfile
144
174
  - gemfiles/graphql-1.7.gemfile
145
175
  - gemfiles/graphql-1.8.gemfile