graphql_authorize 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
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