shaf 1.4.0 → 1.4.1

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: d6502c5b061eb5e2420e621d91a12866f4d5c8a2a295c8d2b129df12a71d6668
4
- data.tar.gz: 19b4fa57c6b99c69b084b493769dd7291253a9f62e7d0607c5ffdcf8f24f8549
3
+ metadata.gz: 2b68c64b495d1413c70562c4deb0796113c93c4e3c4e269899d31a93baaa7574
4
+ data.tar.gz: ee75b02c4006994eb0f1ea1da93114687d0a5ee5dd64d1dcf62d5dc647210301
5
5
  SHA512:
6
- metadata.gz: d7c299b50eb8b8b62c7dd1ab4b5ebff9f85f1dc286a858ce7a0925e1a7ef30fd4639303b9293c79971118b7a80c2582f0142f063ef131511ab645138bf0c7b44
7
- data.tar.gz: 93b4102fb1b5efd7fe020eab71522ff314a343ee3e67ed19b7a2cdad6b9243188c60b7d56a5ce1c0bb10746045e8f8a2842247880717e8951eae47c622ea806a
6
+ metadata.gz: 0f84860a9c7442d473378ecbd2ca61325bf71f848af65f1e742e01888a37ecb52e0c8bca9e8938eb9b70d5d167501616ce46096cdcba1f87e31299aa47184100
7
+ data.tar.gz: 7ed67fe1fe15cc5300b658eb3e0cfb3c79325829eb2969308a0f31ef06d26bcb5365b8600f716c1e75b85c2fcabdee4b7e17f5b16c999c8fdf6d0d9cfbc1f597
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -31,9 +31,9 @@ module Shaf
31
31
  def options(option_parser, options); end
32
32
  end
33
33
 
34
- def initialize(*args)
34
+ def initialize(*args, **options)
35
35
  @args = args.dup
36
- @options = {}
36
+ @options = options
37
37
  parse_options!
38
38
  end
39
39
 
@@ -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
- validate_symbols(hook: hook, only: only, except: except)
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 validate_symbols(hook:, only: [], except: [])
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
@@ -17,6 +17,8 @@ module Shaf
17
17
  end
18
18
 
19
19
  def profile
20
+ return unless serializer
21
+
20
22
  @profile ||= options[:profile] || serializer.semantic_profile
21
23
  end
22
24
  end
data/lib/shaf/router.rb CHANGED
@@ -45,7 +45,7 @@ module Shaf
45
45
 
46
46
  def init_routes
47
47
  @routes = Hash.new do |hash, key|
48
- hash[key] = Hash.new { |hash, key| hash[key] = Set.new }
48
+ hash[key] = Hash.new { |h, k| h[k] = Set.new }
49
49
  end
50
50
  controllers.each { |controller| init_routes_for(controller) }
51
51
  end
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
@@ -1,3 +1,3 @@
1
1
  module Shaf
2
- VERSION = "1.4.0"
2
+ VERSION = "1.4.1"
3
3
  end
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.0
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-11-10 00:00:00.000000000 Z
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.6
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
- (4���3/C�%�r��Spew��DuG��b���I%����ν
2
- �s�R.���%�y��W�7�)��[����㶃�>D����/e|�D@��S�\�,S}��[�9\��
1
+ ra��TNݚ�Fѫ����T$�>+"�>..��SJ�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