pathway 0.6.2 → 0.7.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 +4 -4
- data/CHANGELOG.md +7 -1
- data/lib/pathway.rb +1 -1
- data/lib/pathway/plugins/sequel_models.rb +3 -1
- data/lib/pathway/plugins/simple_auth.rb +8 -3
- data/lib/pathway/version.rb +1 -1
- data/pathway.gemspec +3 -3
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 10f9020a8388d7f7aa7f4f321d506d98f2ce59ec
|
4
|
+
data.tar.gz: a7d8dc64b79bf6a19f52f5cf78e59e0f9e9faae3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9a0cb43cf90894f6c9f19692bc33eca3ee6eaf6dd834d88ebbee0261447c70a7f0f96a3f05098d6339561de34fb65393708529c713b383b31779738c79748d50
|
7
|
+
data.tar.gz: 9c66e74dafc09384a8d2f06df57490206a8e5e9cf756765085fd4b56353a498a388eedd2abc4d03c8d4d997ac1ba284e74feb087d77bce67a800c6ede04cad5b
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,11 @@
|
|
1
|
-
## [0.
|
1
|
+
## [0.7.0] - 2018-09-25
|
2
2
|
### Changed
|
3
|
+
- `sequel_models` plugin now automatically adds an optional context parameter to preload the model and avoid hitting the db on `:fetch_model` when the model is already available.
|
4
|
+
- Add `:set_context_param` option for `sequel_models` plugin to prevent adding the context parameter to preload the model into the context.
|
5
|
+
- Allow `authorization` block to take multiple parameters on `simple_auth` plugin.
|
6
|
+
|
7
|
+
## [0.6.2] - 2018-05-19
|
8
|
+
### Fixes
|
3
9
|
- Allow `:error_message` option for `sequel_models` plugin to propagate down inherited classes
|
4
10
|
|
5
11
|
## [0.6.1] - 2018-03-16
|
data/lib/pathway.rb
CHANGED
@@ -24,11 +24,13 @@ module Pathway
|
|
24
24
|
module ClassMethods
|
25
25
|
attr_accessor :model_class, :search_field, :model_not_found
|
26
26
|
|
27
|
-
def model(model_class, search_by: model_class.primary_key, set_result_key: true, error_message: nil)
|
27
|
+
def model(model_class, search_by: model_class.primary_key, set_result_key: true, set_context_param: true, error_message: nil)
|
28
28
|
self.model_class = model_class
|
29
29
|
self.search_field = search_by
|
30
30
|
self.result_key = Inflector.underscore(Inflector.demodulize(model_class.name)).to_sym if set_result_key
|
31
31
|
self.model_not_found = error_message || "#{Inflector.humanize(Inflector.underscore(Inflector.demodulize(model_class.name)))} not found".freeze
|
32
|
+
|
33
|
+
self.context(result_key => Contextualizer::OPTIONAL) if set_result_key && set_context_param
|
32
34
|
end
|
33
35
|
|
34
36
|
def inherited(subclass)
|
@@ -11,15 +11,20 @@ module Pathway
|
|
11
11
|
|
12
12
|
module InstanceMethods
|
13
13
|
def authorize(state, using: nil)
|
14
|
-
|
14
|
+
auth_state = if using.is_a?(Array)
|
15
|
+
authorize_with(*state.values_at(*using))
|
16
|
+
else
|
17
|
+
authorize_with(state[using || result_key])
|
18
|
+
end
|
19
|
+
|
20
|
+
auth_state.then { state }
|
15
21
|
end
|
16
22
|
|
17
23
|
def authorize_with(*objs)
|
18
|
-
objs = objs.first if objs.size <= 1
|
19
24
|
authorized?(*objs) ? wrap(objs) : error(:forbidden)
|
20
25
|
end
|
21
26
|
|
22
|
-
def authorized?(*
|
27
|
+
def authorized?(*)
|
23
28
|
true
|
24
29
|
end
|
25
30
|
end
|
data/lib/pathway/version.rb
CHANGED
data/pathway.gemspec
CHANGED
@@ -23,10 +23,10 @@ Gem::Specification.new do |spec|
|
|
23
23
|
|
24
24
|
spec.required_ruby_version = ">= 2.4.0"
|
25
25
|
|
26
|
-
spec.add_dependency "dry-inflector", ">= 0.1.
|
27
|
-
spec.add_dependency "contextualizer", "~> 0.0.
|
26
|
+
spec.add_dependency "dry-inflector", ">= 0.1.0"
|
27
|
+
spec.add_dependency "contextualizer", "~> 0.0.4"
|
28
28
|
|
29
|
-
spec.add_development_dependency "dry-validation", "~> 0.11"
|
29
|
+
spec.add_development_dependency "dry-validation", "~> 0.11.0"
|
30
30
|
spec.add_development_dependency "bundler", ">= 1.14.0"
|
31
31
|
spec.add_development_dependency "sequel", "~> 4.46.0"
|
32
32
|
spec.add_development_dependency "rake", "~> 10.0"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pathway
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pablo Herrero
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-09-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dry-inflector
|
@@ -16,42 +16,42 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.1.
|
19
|
+
version: 0.1.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.1.
|
26
|
+
version: 0.1.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: contextualizer
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.0.
|
33
|
+
version: 0.0.4
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.0.
|
40
|
+
version: 0.0.4
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: dry-validation
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 0.11.0
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 0.11.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: bundler
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|