shaf 1.4.0 → 1.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/lib/shaf/command/base.rb +2 -2
- data/lib/shaf/extensions/controller_hooks.rb +4 -6
- data/lib/shaf/registrable_factory.rb +2 -2
- data/lib/shaf/responder/hal.rb +2 -0
- data/lib/shaf/router.rb +1 -1
- data/lib/shaf/utils.rb +1 -1
- data/lib/shaf/version.rb +1 -1
- metadata +31 -3
- metadata.gz.sig +1 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2b68c64b495d1413c70562c4deb0796113c93c4e3c4e269899d31a93baaa7574
|
4
|
+
data.tar.gz: ee75b02c4006994eb0f1ea1da93114687d0a5ee5dd64d1dcf62d5dc647210301
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0f84860a9c7442d473378ecbd2ca61325bf71f848af65f1e742e01888a37ecb52e0c8bca9e8938eb9b70d5d167501616ce46096cdcba1f87e31299aa47184100
|
7
|
+
data.tar.gz: 7ed67fe1fe15cc5300b658eb3e0cfb3c79325829eb2969308a0f31ef06d26bcb5365b8600f716c1e75b85c2fcabdee4b7e17f5b16c999c8fdf6d0d9cfbc1f597
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/lib/shaf/command/base.rb
CHANGED
@@ -3,11 +3,11 @@ require 'sinatra/base'
|
|
3
3
|
module Shaf
|
4
4
|
module ControllerHooks
|
5
5
|
def before_action(method_name = nil, **options, &block)
|
6
|
-
__action_hook(:before, method_name, block, options)
|
6
|
+
__action_hook(:before, method_name, block, **options)
|
7
7
|
end
|
8
8
|
|
9
9
|
def after_action(method_name = nil, **options, &block)
|
10
|
-
__action_hook(:after, method_name, block, options)
|
10
|
+
__action_hook(:after, method_name, block, **options)
|
11
11
|
end
|
12
12
|
|
13
13
|
private
|
@@ -15,7 +15,7 @@ module Shaf
|
|
15
15
|
def __action_hook(hook, method_name, block, **options)
|
16
16
|
only = Array(options[:only]) if options.key? :only
|
17
17
|
except = Array(options[:except]) if options.key? :except
|
18
|
-
|
18
|
+
__validate_symbols(hook: hook, only: only, except: except)
|
19
19
|
|
20
20
|
path_helpers.each do |helper|
|
21
21
|
next if only && !only.include?(helper)
|
@@ -43,7 +43,7 @@ module Shaf
|
|
43
43
|
Regexp.new("#{str}/?")
|
44
44
|
end
|
45
45
|
|
46
|
-
def
|
46
|
+
def __validate_symbols(hook:, only: [], except: [])
|
47
47
|
s = "\n\n\"%s\" given as :%s keyword arg to %s hook. Must be a symbol!\n"
|
48
48
|
Array(only).each do |value|
|
49
49
|
next if value.is_a? Symbol
|
@@ -56,6 +56,4 @@ module Shaf
|
|
56
56
|
end
|
57
57
|
end
|
58
58
|
end
|
59
|
-
|
60
|
-
Sinatra.register ControllerHooks
|
61
59
|
end
|
@@ -39,12 +39,12 @@ module Shaf
|
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
42
|
-
def create(*params)
|
42
|
+
def create(*params, **options)
|
43
43
|
clazz = lookup(*params)
|
44
44
|
raise NotFoundError.new(%Q(Command '#{ARGV}' is not supported)) unless clazz
|
45
45
|
|
46
46
|
args = init_args(clazz, params)
|
47
|
-
clazz.new(*args)
|
47
|
+
clazz.new(*args, **options)
|
48
48
|
end
|
49
49
|
|
50
50
|
private
|
data/lib/shaf/responder/hal.rb
CHANGED
data/lib/shaf/router.rb
CHANGED
data/lib/shaf/utils.rb
CHANGED
@@ -4,7 +4,6 @@ require 'erb'
|
|
4
4
|
require 'forwardable'
|
5
5
|
require 'yaml'
|
6
6
|
require 'shaf/version'
|
7
|
-
require 'sinatra/base'
|
8
7
|
|
9
8
|
module Shaf
|
10
9
|
module Utils
|
@@ -45,6 +44,7 @@ module Shaf
|
|
45
44
|
end
|
46
45
|
|
47
46
|
def environment
|
47
|
+
require 'sinatra/base'
|
48
48
|
Sinatra::Application.settings.environment
|
49
49
|
end
|
50
50
|
|
data/lib/shaf/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shaf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sammy Henningsson
|
@@ -30,7 +30,7 @@ cert_chain:
|
|
30
30
|
ZMhjYR7sRczGJx+GxGU2EaR0bjRsPVlC4ywtFxoOfRG3WaJcpWGEoAoMJX6Z0bRv
|
31
31
|
M40=
|
32
32
|
-----END CERTIFICATE-----
|
33
|
-
date: 2019-
|
33
|
+
date: 2019-12-22 00:00:00.000000000 Z
|
34
34
|
dependencies:
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
36
|
name: minitest
|
@@ -150,6 +150,34 @@ dependencies:
|
|
150
150
|
- - "~>"
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: '0.17'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: git
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - "~>"
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '1.5'
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - "~>"
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '1.5'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: bundler
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - "~>"
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '2.1'
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - "~>"
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '2.1'
|
153
181
|
description: A framework for building hypermedia driven APIs with sinatra and sequel.
|
154
182
|
email: sammy.henningsson@gmail.com
|
155
183
|
executables:
|
@@ -321,7 +349,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
321
349
|
- !ruby/object:Gem::Version
|
322
350
|
version: '0'
|
323
351
|
requirements: []
|
324
|
-
rubygems_version: 3.0.
|
352
|
+
rubygems_version: 3.0.3
|
325
353
|
signing_key:
|
326
354
|
specification_version: 4
|
327
355
|
summary: Sinatra Hypermedia Api Framework
|
metadata.gz.sig
CHANGED
@@ -1,2 +1 @@
|
|
1
|
-
|
2
|
-
�s�R.���%�y��W�7�)��[����㶃�>D����/e|�D@��S�\�,S}��[�9\��
|
1
|
+
ra��TNݚ�Fѫ����T$�>+"�>..��S�J�d�tJ0/�Ȝ&N�gޡ"���&T&���.�ph�b���?Y�W;.)����Ns`ҟ�б�43�6��������P��J��8�{��`��e9?��e�GkFk9��S����(��D��1J��l"-��G*�����]\���s4���L�����x����w�~�P5�G��Q����S��`q�x��=C���ln�j�%�R3ߑ[a
|